采用单片机的定时计数器进行毫秒和微妙级延时,精度较准。检测溢出时产生的标志位来判断延时到达。下面以STM8L101芯片为例及配合代码说明。
一、实现原理:
1、初始化Timer2时钟源(附上相应代码)
void TIM2Init (void)
{
TIM2_DeInit ();
CLK_PeripheralClockConfig(CLK_Peripheral_TIM2, ENABLE);
TIM2->CR1 &= ((uint8_t)(~TIM_CR1_CMS)) & ((uint8_t)(~TIM_CR1_DIR));
TIM2->CR1 |= ( (TIM2_CounterMode_Up) | (TIM_CR1_ARPE) ); /*counter up, enable Auto-Reload*/
TIM2_SetCounter(0

本文介绍了如何使用STM8L101单片机的Timer2,通过配置时钟源和选择计数模式,实现毫秒和微妙级别的精确延时。延时实现依赖于检测定时器溢出标志位。文中提供了初始化代码及毫秒、微妙延时的示例代码,确保延时精度。

3808

被折叠的 条评论
为什么被折叠?



