STM32F10X SysTick小教程

前言:
         。。。。。。
//@auther:junwencui

      SysTick就是STM32 的系统滴答,SysTick的最大使命,就是定期地产生异常请求,作为系统的时基。一般的可以用来作延时,当然了还可以用来计时。 对于它的通俗讲法就是,周期性的的系统中断,滴答滴答的。接下来,我们就以他的为基础做简单延时函数的教程。

     
        这里我用的开发板时正点原子的MiniSTM32,芯片型号为 STM32F103RCT6.   This is easy, so you can do that very easily!
[objc] view plain copy
  1. ***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还有很多其他的妙用,这里需要根据实际需要来使用。

祝大家学习愉快!

猜你喜欢

转载自blog.csdn.net/qq_37389133/article/details/79342000