历史上的今天
返回首页

历史上的今天

今天是:2025年02月04日(星期二)

2020年02月04日 | STM8L学习笔记一 TIM2定时器设定系统工作计时

2020-02-04 来源:eefocus

//定时器2配置,1毫秒产生一次中断,用于系统计时


void TIM2_Init(void)   


CLK_PeripheralClockConfig(CLK_Peripheral_TIM2,ENABLE);//将主时钟信号送给定时器4(L系列单片机必需)

TIM2_TimeBaseInit(TIM2_Prescaler_16,TIM2_CounterMode_Up,0x7D);            //定时器4,将主时钟16分频.自动装载FA=125

TIM2_SetCounter(0xFA);                                //设定计数值FA=125

TIM2_ITConfig(TIM2_IT_Update,ENABLE);

TIM2_ARRPreloadConfig(ENABLE);

TIM2_Cmd(ENABLE);                                    //计数器使能,开始计数   

}




/*

****************************************************************************

* INTERRUPT_HANDLER(TIM2_UPD_OVF_TRG_BRK_IRQHandler, 19)

* 功能描述: TIM2中断处理函数,产生1毫秒中断,用于计时

* 返 回 值:无

****************************************************************************

*/


//中断处理函数,在中断中累加数据

INTERRUPT_HANDLER(TIM2_UPD_OVF_TRG_BRK_IRQHandler, 19)//TIM2中断处理函数,产生1毫秒中断,用于计时

{

  TIM2_ClearFlag(TIM2_FLAG_Update); //清中断标志位


ms2_cnt++;

ms10_cnt++;

ms100_cnt++;

UsartTime++;

if( Second_cnt >= 999 )

{

Second_cnt = 0;

SecondFlag = 1;

}

else

{

Second_cnt++;

}

}




/*

****************************************************************************

* void Init(void)

* 功能描述: 初始化各个功能模块状态

* 返 回 值:无

****************************************************************************

*/

void Init(void)

{

asm("sim"); //关全局中断

CLK_Init( ); //时钟初始化

SPI_Initial( ); //SPI初始化sht10

GPIO_Initial( );//端口初始化

USART_Initial( );//用于485通讯

IIC_Init(); //用于传感器通讯

Init_BH1750( ); //初始化BH1750

TIM2_Init( ); //时钟2用于1毫秒计时

FLASH_DeInit(); //eeprom初始化

InitEeprom( );

InitAWU( ); //使能自动唤醒功能

asm("rim"); //开全局中断 


}




/*

****************************************************************************

* main()

* 功能描述: 主函数

* 返 回 值:无

****************************************************************************

*/

#define CC1101Tx  0 //0:接收模式,1:发送模式



void main (void)

unsigned char i=0;

unsigned char timecnt=0;

Init();

//485设为接收模式//

//M485_Para.ReceivePoint = 0;

//M485_Para.ReadPoint = 0;


//s_connectionreset();

//Single_Write_BH1750(0x01);   //传感器上电power on

//Single_Write_BH1750(0x10);   //设定传感器工作模式 H- resolution mode

delay_ms(180);               //延时180ms,用于等待传感器初始化


//GS_CC1101SetTRMode( RX_MODE );


while(1)

if( ms2_cnt > 2 )

{

ms2_cnt = 0;

//M485DataPro();//485数据处理

}


if( ms10_cnt >=10 )

{

ms10_cnt = 0;

ms10_Work();//10毫秒执行的任务

}


if( ms100_cnt >= 100 )

{

ms100_cnt = 0;

ms100_Work();//100毫秒执行的任务

}


if( SecondFlag == 1 )

{

timecnt++;

SecondFlag = 0;

Second_Work();//每秒执行的任务 


#if CC1101Tx //数据发送


CC1101SendData(0x03,0x00,0x0E);

//GS_CC1101SendPacket( M485_Send_Buffer,9, ADDRESS_CHECK );

#else //数据接收 

i = CC1101DataPro();


if( i== 0 )

GPIO_ToggleBits( GPIOD, GPIO_Pin_0); //反转灯的状态


for(i=0;i<27;i++)

{

putchar(M485_Para.Uart_Buffer[i]);

}


if(timecnt > 20)

{

timecnt = 0;

halt(); //进入待机模式

}

#endif

}

}

}


说明:TIM2用于产生1毫秒中断,作为系统工作节拍。main函数到10ms,100ms  ,1s执行不同的任务

推荐阅读

史海拾趣

港源(GANGYUAN)公司的发展小趣事

机顶盒,全称为数字视频变换盒,是现代家庭娱乐中不可或缺的重要设备。从广义上讲,凡是与电视机连接的网络终端设备均可视为机顶盒,其功能已远不止于简单的信号转换。机顶盒不仅能够接收来自有线电缆、卫星天线、宽带网络及地面广播的数字电视信号,并将其转换为适合电视机播放的格式,还集成了众多增值服务,如电子节目指南、因特网网页浏览等。

在数字电视时代,机顶盒扮演了至关重要的角色。它不仅让用户能够在模拟电视上观看高清乃至4K的超高清电视节目,享受更为细腻的画面和震撼的音效,还赋予了电视机网络交互的能力。通过机顶盒,用户可以轻松接入互联网,进行在线购物、观看网络视频、玩游戏等多元化活动,使电视机从单向接收信息的设备转变为与用户互动的智能终端。

随着技术的不断进步,机顶盒的功能也在不断扩展。智能化技术的应用,如语音助手、智能推荐等,进一步提升了用户体验。同时,高清、超高清技术的普及,以及云计算、边缘计算等技术的结合,为机顶盒提供了更为高效的内容分发和管理能力。未来,随着5G、虚拟现实和增强现实等新技术的融入,机顶盒的娱乐、教育等应用将更加广泛,为用户带来更为沉浸式和互动式的观影体验。

综上所述,机顶盒作为连接电视与外部信号源及互联网的桥梁,正以其丰富的功能和不断升级的技术,为现代家庭娱乐生活带来前所未有的便捷与享受。

Chiefdom Electronic Co Ltd公司的发展小趣事

随着全球化的深入发展,Chiefdom Electronic Co Ltd意识到国际化布局对于提升竞争力的重要性。公司开始积极拓展海外市场,设立海外研发中心和销售网络,以便更好地了解当地市场需求和文化特点。通过本地化运营和定制化服务,公司成功打入多个国际市场,并获得了良好的业绩回报。这些国际化布局不仅提升了公司的整体竞争力,还为其在全球电子行业中占据了更加重要的地位。

ACCUTEK公司的发展小趣事

随着产品质量的不断提升和市场份额的逐步扩大,ACCUTEK公司开始将目光投向国际市场。公司积极参加国际电子展会和技术交流活动,与全球多家知名企业建立了合作关系。同时,公司还在海外设立了多个分支机构,以便更好地服务当地客户。这些举措不仅提升了公司的国际影响力,也为公司的长远发展注入了新的活力。

Chiplus Semiconductor Corp公司的发展小趣事

Chiplus自成立以来,始终致力于技术创新和产品研发。公司团队不断深入研究SRAM和LED驱动IC的设计与开发,成功推出了多款高速度、低功率的产品。这些产品以其卓越的性能和稳定性,赢得了全球客户的广泛认可。同时,Chiplus还积极投入研发资源,探索新的应用领域,不断拓展产品线,为客户提供更多元化的解决方案。

DRI Relays Inc公司的发展小趣事

随着电子技术的不断进步,市场对继电器产品的要求也越来越高。DRI Relays Inc公司意识到,只有不断创新才能保持市场竞争力。为此,公司投入大量资金和资源,组建了一支由行业专家组成的研发团队,专注于新技术和新产品的研发。经过数年的努力,公司成功开发出一系列具有自主知识产权的高性能继电器产品,这些产品在市场上取得了巨大的成功,为公司带来了可观的利润。

Excelitas公司的发展小趣事

作为一家技术驱动型企业,Excelitas公司深知持续创新的重要性。因此,公司不断加大研发投入,积极引进和培养高端人才。通过持续的创新和研发,Excelitas不断推出具有领先技术的产品,满足了市场的多样化需求。同时,公司还注重知识产权的保护,积极申请专利,维护了自身的技术优势和市场竞争力。

问答坊 | AI 解惑

青越锋·PCBDOC模块

特点:完善的设计规则设置,确保PCB设计符合要求 更加方便、快捷的层堆栈管理 超强的元器件布局功能 更加快捷的网络编辑功能 绝对畅快的焊盘处理功能 多重选择功能 可靠的设计规则检查 面向用户的PCB工作区 丰富的输出功能 完全可控的PCB打印…

查看全部问答>

<ARM嵌入式linux系统开发技术详解>的光盘内容

今天收到论坛赠送的这本书,书中光盘内容上传给大家,个人感觉这本书讲的挺好,涉及内容很多,共620页! 下面的文件中有一个2440开发板的PCB和 linux的电子书     [ 本帖最后由 daicheng 于 2009-9-29 13:54 编辑 ]…

查看全部问答>

嵌入式

求直流电机应用程序源码和vcw文件…

查看全部问答>

WinCe FindWindow函数无法打开窗口

我的程序是: void CBrowserDlgDlg::OnButton1() {         // TODO: Add your control notification handler code here          // TODO: Add your control notification handler code h ...…

查看全部问答>

服务器的scsi/raid驱动不安装,影响性能吗?就一个硬盘

现在我有一台服务器,之前安装的linux,没有管驱动的事情,现在改给windows,提示scsi/raid控制器的驱动没有安装, 我从网上查了一下说是支持磁盘阵列的问题,想问一下大家,我现在就一个硬盘,不安装可以吗?影响服务器的运行速度吗?…

查看全部问答>

单片机读写sd卡

最近想试试用单片机读写sd卡,所以想问一下谁有sd卡的模块的电路图,想diy一个。。…

查看全部问答>

LCM-LCD

本产品为4行16列字符形显示模块,可以显示中文、英文、俄文、日文、韩文等,工作电压有3V和5V两种。 蓝色LCD,白色侧背光。12点视角。 视窗25mmX62mm   QQ:625866132 欢迎交流!合作! 字符形模块 [ 本帖最后由 tonnyy 于 2010-12- ...…

查看全部问答>

【TI原创】基于LM3S8962的网络收音机(六) --- 网络存储播放MP3

上一篇已经做好了PC端的测试程序,用来读写音频文件,并通过网路传输,这篇主要完成: 1.      LM3S8962通过网络接收PC端的数据; 2.      存储数据到SD卡中 3.    &nbs ...…

查看全部问答>

2012 TI 微控制器研习班(一季度已完成)

  报名链接:http://www.deyisupport.com/question_answer/f/23/t/6043.aspx   为了更好的向客户提供技术支持,TI将于每周四在TI其中一个办事处举办\"TI MCU Day\"研习班。前期覆盖深圳、上海、北京、东莞、广州、杭州、南京等主要 ...…

查看全部问答>

Windows Phone 8 发布

本帖最后由 jameswangsynnex 于 2015-3-3 20:02 编辑 …

查看全部问答>