lonespeaker
2021-09-07 21:17
采纳率: 50%
浏览 26

如何用STM32F103测一个未知输入方波的频率?

仿照测高电平时间的程序写了main.c,但跟实际结果相差较大,想得到一个详细的程序指导。

  • 收藏

3条回答 默认 最新

  • 已采纳

    1.开启一个外部中断行输入捕获,设置一个变量,每检测到一个上升沿就加一
    2.再开启一个定时器设置比如说1S,1S后将外部中断记得数拿出来
    3.这样就得到了1S时间的脉冲数,进而得到频率

    1 打赏 评论
  • qllaoda 2021-09-08 10:05

    首先要确定频率范围,频率较低的时候,可以用定时器中断对方波进行采样,中断频率越高精度越高。如果频率较高就需要连续采样,因为中断耗时会导致误差很大。当然不管哪种方式,都是频率越高,误差越大

    打赏 评论
  • 沙漠之雕SD 2021-09-11 14:20

    stm可以用高级定时器输入捕获,获取脉宽,然后计算出频率

    打赏 评论

相关推荐 更多相似问题