前言:
。。。。。。
//@auther:junwencui
SysTick就是STM32 的系统滴答,SysTick的最大使命,就是定期地产生异常请求,作为系统的时基。一般的可以用来作延时,当然了还可以用来计时。 对于它的通俗讲法就是,周期性的的系统中断,滴答滴答的。接下来,我们就以他的为基础做简单延时函数的教程。
这里我用的开发板时正点原子的MiniSTM32,芯片型号为
STM32F103RCT6. This is easy, so you can do that very easily!
- ***REMENBER STM32 is you! :)
我们在这里进行通俗的讲解,详细的内容,可以在以后再去看STM32手册。
代码如下:
SysTick_Config(SystemCoreClock/1000);
在main函数中,初始化SysTick的周期。
SystemCoreClock是指芯片的晶振频率,这里是72MHz,
SystemCoreClock/1000是指72KHz的周期,也就是1ms中断一次!!! 同理是1us中断一次,就是
SystemCoreClock/1000000但是里不推荐。微秒级别的延时我们可以靠简单计数延时。
uint32_t nTimedelay = 0; void Delay_ms(uint32_t ntime){ nTimedelay =ntime; for(;nTimedelay>0;); }这里设置延时函数, nTimedelay这里全局,需要在stm32f10x_it.c 文件中extern,
void SysTick_Handler(void) { nTimedelay--; }
这个就是sysTick中断函数,在
stm32f10x_it.c 文件中。
这样一个简单的延时函数就配置好了,systick还有很多其他的妙用,这里需要根据实际需要来使用。
祝大家学习愉快!