STM32记录毫秒函数
时间: 2024-10-27 19:01:02 浏览: 27
STM32F1和STM32F4延时函数
STM32记录毫秒函数通常涉及到使用SysTick定时器来获取系统运行的时间。SysTick是一个24位的递减计数器,当它从0递减到0时,会产生一个中断请求。这个特性可以被用来创建一个周期性的时钟节拍,从而可以用来计时。
在STM32的标准外设库中,有一个名为`SysTick_Handler`的中断服务例程(ISR),它在每个SysTick定时器溢出时被调用。在这个ISR中,你可以增加一个全局变量来记录自系统启动以来经过的毫秒数。
以下是一个简单的例子,展示了如何在STM32中使用SysTick定时器来记录毫秒:
```c
#include "stm32f10x.h"
volatile uint32_t TimingDelay; // 用于记录经过的毫秒数
void SysTick_Handler(void) {
if (TimingDelay != 0) {
TimingDelay--;
}
}
int main(void) {
// 初始化SysTick定时器
SysTick_Config(SystemCoreClock / 1000); // 设置SysTick定时器中断为1ms
while (1) {
// 在这里可以添加你的代码
}
}
```
在这个例子中,我们首先定义了一个名为`TimingDelay`的全局变量,用来记录经过的毫秒数。然后在`SysTick_Handler` ISR中,每次SysTick定时器溢出时,我们都会将`TimingDelay`的值减1。这样,我们就可以通过读取`TimingDelay`的值来获取自系统启动以来经过的毫秒数。
阅读全文