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

0
回复
76
查看
[ 复制链接 ]

38

主题

1

回帖

130

积分

管理员

积分
130
2025-7-4 11:54:14 显示全部楼层 阅读模式
定时器输入捕获测量方波频率
🛠️ 3步实现方案:
  • CubeMX配置:

    • TIM2 Channel1 → 输入捕获模式
    • 上升沿触发,不分频(72MHz计数)
    • 开启捕获中断

  • 关键代码:

[backcolor=var(--ds-md-code-block-banner-wrap-background-color)][color=var(--dsr-text-2)]c
[color=var(--dsr-icon-fg-1)][color=var(--button-text-color)][backcolor=var(--ds-button-color)][color=var(--button-icon-color)]

复制

[color=var(--button-text-color)][backcolor=var(--ds-button-color)][color=var(--button-icon-color)]

下载





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; }
  • 硬件连接:
    [backcolor=var(--ds-md-code-block-banner-wrap-background-color)][color=var(--dsr-text-2)]text
    [color=var(--dsr-icon-fg-1)][color=var(--button-text-color)][backcolor=var(--ds-button-color)][color=var(--button-icon-color)]

    复制
    [color=var(--button-text-color)][backcolor=var(--ds-button-color)][color=var(--button-icon-color)]

    下载





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

📊 实测精度:
输入频率
测量误差

1kHz±0.1Hz
100kHz±3Hz


收藏
送赞
分享
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则