打印
[STM32F1]

如何利用定时器检测一段波形所有高低电平段的宽度

[复制链接]
1592|3
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
smyrll|  楼主 | 2014-3-25 17:22 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
    我想得到一路波形中所有的高低电平段的宽度,当前使用的方法是STM32F103的通用定时器计数模式,检测到波形来时进入中断(持续时间不长并且中断不能被打断),在中断中检测IO的电平,如果发生跳变记录当前计数值,最后退出中断。但是有一个问题是长时间在中断中影响其他任务运行。
    所以我想改成DMA+TIM的输入捕获模式,但是输入捕获只能检测一种边沿。如果在中断中修改边沿模式又造成频繁进入中断。
    如果用PWM输入模式我又有两路波形要同时检测。
问问各位大神还有其他方式吗?
沙发
yuxueyou| | 2014-3-25 17:28 | 只看该作者
STM32 的PWM不止一路吧

使用特权

评论回复
板凳
smyrll|  楼主 | 2014-3-25 17:52 | 只看该作者
yuxueyou 发表于 2014-3-25 17:28
STM32 的PWM不止一路吧

PWM输入模式只有CH1和CH2支持从模式,只能检测一路波形的双边沿吧

使用特权

评论回复
地板
yuxueyou| | 2014-3-27 11:08 | 只看该作者
smyrll 发表于 2014-3-25 17:52
PWM输入模式只有CH1和CH2支持从模式,只能检测一路波形的双边沿吧

这个得好好的研究下~!

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

4

主题

10

帖子

1

粉丝