1、使能滴答定时器
SysTick->CTRL |= SysTick_CTRL_ENABLE_Msk
关闭滴答定时器
SysTick->CTRL &= ~ SysTick_CTRL_ENABLE_Msk
2、宏定义的说明
#define SysTick_CTRL_ENABLE_Pos 0 /*!< SysTick CTRL: ENABLE Position */
#define SysTick_CTRL_ENABLE_Msk (1ul << SysTick_CTRL_ENABLE_Pos) /*!< SysTick CTRL: ENABLE Mask */
对于SysTick_CTRL_ENABLE_Pos,其中Pos应该是position的缩写,也就是位置,在文件定义位置为0;
对于SysTick_CTRL_ENABLE_Msk,1ul << SysTick_CTRL_ENABLE_Pos,意思就是将1左移0位,为0000 0000 0000 0001;其中的1ul说明这个常量1是unsigned long,32bit的数据,因为stm32寄存器是32位的。根据SysTick->CTRL |= SysTick_CTRL_ENABLE_Msk可知,替换后为SysTick->CTRL |= 1 <<0, 相当于把CTRL最低位置1,也就是打开SysTick定时器。
本文详细解析了STM32中滴答定时器的开启与关闭操作,通过具体的寄存器位操作实现定时器的使能与禁用。介绍了SysTick_CTRL_ENABLE_Msk宏定义的作用及其实现原理,深入理解STM32定时器的工作机制。
1254

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



