定时器输入捕获测量方波频率
定时器输入捕获测量方波频率🛠️ 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]