系统滴答计时器

系统滴答计时器:
它是一个24位的倒计数定时器,当计数到0时,它就会从Load寄存器中自动重装定时初值,只要不把CTRL寄存器中的ENABLE清0,它就永不停
配置函数定义在core_cm.h文件中接近结尾部分,右键搜索不到static __INLINE uint32_t SysTick_Config(uint32_t ticks)
入口参数 即节拍数 ticks表示两次中断之间的计数值,计数器值VAl减到0后,产生中断,中断服务函数SystemCoreClock= SYSCLK_FREQ_72MHz; 在system_stm32fi0x.c中

SysTick_CTRL_CLKSOURCE_Msk 时基(系统时钟源HCLK):1/72M
ticks 装值:SystemCoreClock/X
X: 1000000 //10^(-6)----1us
X: 1000 //10^(-3)----1ms

SysTick_CTRL_CLKSOURCE_Msk 时基(系统时钟源HCLK):1/72M
ticks 装值:SystemCoreClock/X
X: 1000000 //10^(-6)----1us
X: 100000 //10^(-5)----10us
X: 1000 //10^(-3)----1ms

使用:
① SysTick_Config(uint32_t ticks) 开启定时器并设置ticks,可以为1ms,
②SysTick_Handler(void) 中断服务函数,进行参数加减操作最好,不要太长 在stm32f10x_it.c中,
③Delay_Ms(u32 nTime) 在延时函数定义中设置进入中断次数来延时x ms

猜你喜欢

转载自blog.csdn.net/dbfy666/article/details/88726423