记录
1.查找系统嘀嗒定时器,根据
《STM32F4xx-Cortex_-M4内核参考手册.pdf》来查看寄存器,
并结合core_cm4.h。
系统定时器的时钟源=21Hz,完成21000000次计数的时候,就代表说1秒时间的到达。
21000000/1000000=21,也代表说只要完成21次计数就是1微秒的时间。SysTick->LOAD决定了延时的时间。
STTM32F407为例,用寄存器写延时函数:
需要注意的是把STM32f4xx.h文件中的HSE修改为8000000,参数因子PLL_M修改为8
时钟源来源于21 Hz
最大延时时间= 2*24 1 -21000000= 798.91ms.
时钟源来源于168 Hz
最大延时时间= 2^24 -168000000= 99.86ms.
如果要实现5000ms延时的话,可以对上面进行改造,500ms的整数倍延时都可以
void delay_us