stm32 系统定时器(学习随笔)

系统定时器

1、在keil中不需要添加外围库。

2.属于cm4内核中的一个外设,内嵌在NVIC系统中,系统定时器是一个24bit的向下递减的计数器(最大数值2*24-1)

3.SysTick-系统定时器有四个寄存器,在使用SysTick产生定时器的时候只需要配置三个寄存器。

//配置系统定时器的时钟源(来源于168Mhz)
SysTick_CLkSourceconfig(SysTick_CLKSource_HCLK_Div8);

void delay_us(uint32_t nus)
{
  SysTick->LOAD=(168000000/8/1000000)*nus;//延时n微妙
  SysTick->CTRL 1=1;
  while((SysTick->CTRL (1<<16)==0);//判断当前是否计数完毕
   SysTick->CTRL &=~1;//施能定时器工作。

  时钟源来源于2Mhz,最大延时时间=2*24/21000000=798.91ms

posted @ 2021-02-08 23:00  是谁用了我的昵称  阅读(125)  评论(0)    收藏  举报