历史上的今天
今天是:2025年07月24日(星期四)
2018年07月24日 | STM8S105 TIM1 TIM2 定时器的定时时间初始化
2018-07-24 来源:eefocus
很多刚接触STM8单片机的入门者不知到如何使用TIM1和TIM2的定时器作为定时功能。
下面介绍如下:
TIM1的初始化1us:
系统时钟是16M。
void set_TIM1_nus(u16 nus)
{
/*1u的记数周期*/
/*TIM1_TimeBaseInit(0x0F,TIM1_COUNTERMODE_UP,nus,TIM1_RCR_RESET_VALUE);*/
/* Set the Autoreload value */
TIM1->ARRH = (u8)(nus >> 8);
TIM1->ARRL = (u8)(nus);
/* Set the Prescaler value */
TIM1->PSCRH = (u8)(0x0F >> 8);
TIM1->PSCRL = (u8)(0x0F);
/* Select the Counter Mode */
TIM1->CR1 = (u8)(((TIM1->CR1) & (u8)(~(TIM1_CR1_CMS | TIM1_CR1_DIR))) | (u8)(TIM1_COUNTERMODE_UP));
/* Set the Repetition Counter value */
TIM1->RCR = TIM1_RCR_RESET_VALUE;
/*打开1中断*/
/*TIM1_ITConfig( TIM1_IT_UPDATE , ENABLE); */
TIM1->IER |= (u8)TIM1_IT_UPDATE;
/*计时器打开*/
/*TIM1_Cmd(ENABLE); */
TIM1->CR1 |= TIM1_CR1_CEN;
/*TIM1_ClearFlag(TIM1_FLAG_UPDATE); */
/* Clear the flags (rc_w0) clear this bit by writing 0. Writing ??has no effect*/
TIM1->SR1 = (u8)(~(u8)(TIM1_FLAG_UPDATE));
TIM1->SR2 = (u8)((u8)(~((u8)((u16)TIM1_FLAG_UPDATE >> 8))) & (u8)0x1E);
}
TIM2的初始化如下:
初始化为1ms
void time2_set_1ms(void)
{
My_TIM2_TimeBaseInit(TIM2_PRESCALER_16,1000);
My_TIM2_ITConfig( TIM2_IT_UPDATE , ENABLE);
My_TIM2_SetCounter(0x0000);
/*计时器打开*/
My_TIM2_Cmd(ENABLE);
My_TIM2_ClearFlag(TIM2_FLAG_UPDATE);
}
中断处理部分,两者基本上都是一致的:
中断处理函数里面清除本次的中断就好了。其他功能自己定义。
TIMx_ClearFlag(TIM_FLAG_UPDATE);
下一篇:stm8 RTC自动唤醒
史海拾趣
|
Complete Transceiver Radio module: CYRF6936 LP 2.4GHz DSSS Radio SOC Operates in the 2.4 to 2.483GHz, unlicensed frequency range (ISM ¨C ndustrial, Scienti and Medical) Transmit power up to +23dBm Receive sensitivity up to ...… 查看全部问答> |
|
这一组设计依然是同样的创意,用字母作为电子产品的外壳形状,RADIO造型的收音机,WLAN造型的路由器,MUSIC造型的播放器,SPEAKER造型的扬声器… 顺着这个思路,还有更多的可能性会出现。 … 查看全部问答> |
|
我使用的是一款STC的一个有双串口的51片子,有1280byte的RAM和60K的ROM. 我声明了几个全局变量比如: unsigned int counst1; unsigned char buf[256]; 然后在串口的中断程序中使用来存放接受数据,但是经过以下语句查看串口输出很奇怪 k=SBUF; ...… 查看全部问答> |
|
我们学校电子设计要做一个红外遥控密码锁,关于红外遥控模块我不太了解,请问 1:哪种红外发射,接收芯片用的比较多,不要太复杂的,能满足学校的电子设计就OK 。 2:有没有双向的红 ...… 查看全部问答> |
|
刚开始学习GPRS,有如下问题请教各位 1.终端为ARM+Q2403A+Linux,通过PPP与远方主机建立连接之后,是不是就直接可以通过socket编程与远方主机进行通信? 2.终端是动态IP,远方主机貌似可以发送短消息给终端,那么远方主机是主动发送短消息至终端的 ...… 查看全部问答> |
|
上海祥佑数码(Micetek)-嵌入式开发系统制造商,公司具备强大研发实力,拥有支持自主开发 51/ARM/MIPS/PowerPC CPU的仿真器及集成开发环境,公司以质优价廉产品,赢得市场广泛认可,公司将竭 诚为广大客户服务。 单片机仿真器系列: - EasyPa ...… 查看全部问答> |
|
如果想在windows mobile上实现一个输入法!具体步骤应该如何? 本输入法已经在PC先用VC实现。 而且已经在ARM系列的试验仪上面实现了嵌入式移植。 现在想在windows mobile上面进行移植。 望高手指点… 查看全部问答> |




