当前位置: 代码迷 >> 综合 >> STM32F10X SysTick小教程
  详细解决方案

STM32F10X SysTick小教程

热度:59   发布时间:2023-11-10 16:55:39.0

 

前言:

         。。。。。。

//@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还有很多其他的妙用,这里需要根据实际需要来使用。

祝大家学习愉快!