stm32f407获取时间戳代码
时间: 2023-09-03 20:07:51 浏览: 321
以下是使用STM32F407获取时间戳的示例代码:
```c
#include "stm32f4xx.h"
init_timer()
{
启用定时器时
RCC_APB1PeriphClock(RCC_APB1Periph_TIM2, ENABLE);
// 配置定时器
TIM_TimeBaseInitTypeDef TIM_InitStruct;
TIM_InitStruct.TIM_Prescaler = 0; // 不分频
TIM_InitStruct.TIM_CounterMode = TIM_CounterMode_Up;
TIM_InitStruct.TIM_Period = 0xFFFFFFFF; // 最大计数值
TIM_InitStruct.TIM_ClockDivision = TIM_CKD_DIV1;
TIM_InitStruct.TIM_RepetitionCounter = 0;
TIM_TimeBaseInit(TIM2, &TIM_InitStruct);
// 启动定时器
TIM_Cmd(TIM2, ENABLE);
}
uint32_t get_timestamp()
{
return TIM_GetCounter(TIM2);
}
int main(void)
{
// 初始化定时器
init_timer();
while (1)
{
// 获取时间戳
uint32_t timestamp = get_timestamp();
// 处理时间戳
// 延时
for (int i = 0; i < 1000000; i++);
}
}
```
这段代码初始化了TIM2定时器,并在主循环中获取时间戳。你可以根据需要使用获取的时间戳进行进一步处理。请确保在使用该代码之前,已经正确配置了系统时钟和GPIO引脚。
阅读全文