systick定时器
2020-07-21 04:14
483 查看
1.介绍:
systick定时器用来给任务分配时间,系统执行一次所需要的时间
2.代码:
1.systick初始化函数
STM32时钟为72MHZ,systick中断一次的时间为t/72000000(秒),通过修改t可以修改定时一次的时间
下面是配置为系统1ms的程序
void SysTick_Init(void) { if(SysTick_Config(72000000/1000)) { while(1); } }```
2.计数一次为1ms的定时,想延时多少就调用该函数
void SysTick_Delay_Ms( __IO uint32_t ms) { uint32_t i; SysTick_Config(SystemCoreClock/1000); for(i=0;i<ms;i++) { // 当计数器的值减小到0的时候,CRTL寄存器的位16会置1 // 当置1时,读取该位会清0 while( !((SysTick->CTRL)&(1<<16)) ); } // 关闭SysTick定时器 SysTick->CTRL &=~ SysTick_CTRL_ENABLE_Msk; }
3.中断处理函数
计数一次时间可随意配置,当时间减为0可调用该中断
void SysTick_Delay_Ms_ByInt(volatile int32_t mS) { gDelayTime = mS; if(SysTick_Config(72000000/1000)) { while(1); } } //ÔÚit.c Îļþµ÷Óà void Tick_INT_Handle(void) { if(gDelayTime != 0) { gDelayTime--; } else { ;//SysTick->CTRL &= ~SysTick_CTRL_ENABLE_Msk; } }
相关文章推荐
- stm32的systick(系统滴答定时器)
- 浅谈STM32F10X芯片SysTick系统时钟定时器
- 秉火429笔记之十一 Systick--滴答定时器
- 关于STM32的SysTick定时器的时钟选择问题
- stm32之SysTick定时器
- stm32笔记:Systick系统滴答定时器
- SysTick定时器与延时函数的几种配置方法
- 关于STM32的systick定时器的详细说明
- 关于STM32的systick定时器的详细说明
- STM32F10x_StdPeriph_Lib_V3.5.0库与系统滴答定时器(Systick)
- 恩智浦大学生智能车学习(Superstorm)定时器PIT、LPTMR、FTM、SysTick
- STM32 SysTick定时器
- STM32用SysTick来做定时器
- 第七章:系统滴答定时器(systick)应用
- STM32 SysTick定时器
- stm32笔记:Systick系统滴答定时器
- SysTick—系统定时器
- 【iCore3 双核心板】例程五:SYSTICK定时器实验——定时点亮LED
- 关于STM32的systick定时器的详细说明
- STM32之SysTick嘀嗒定时器