站长 发表于 2025-7-4 11:54:14

定时器输入捕获测量方波频率

定时器输入捕获测量方波频率
🛠️ 3步实现方案:
[*]CubeMX配置:

[*]TIM2 Channel1 → 输入捕获模式
[*]上升沿触发,不分频(72MHz计数)
[*]开启捕获中断
[*]关键代码:
c


复制


下载





volatile uint32_t period = 0;void HAL_TIM_IC_CaptureCallback(TIM_HandleTypeDef *htim) {    static uint32_t last = 0;    uint32_t now = HAL_TIM_ReadCapturedValue(htim, TIM_CHANNEL_1);    period = now - last;// 计算周期    last = now;}// 获取频率(Hz)float get_freq() {    return 72000000.0f / period; }

[*]硬件连接:text


复制


下载





信号源 → 100Ω限流电阻 → PA0(TIM2_CH1)└── 并联1N4148二极管保护(负极接3.3V)

📊 实测精度:
输入频率测量误差
1kHz±0.1Hz
100kHz±3Hz


页: [1]
查看完整版本: 定时器输入捕获测量方波频率