打印

请教:单片机程序问题

[复制链接]
7155|3
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主

请教一下,单片机没有捕捉功能,只有两个定时器,一个定时器用来模拟PWM输出,现在要解码上面的协议,我现在用了一个计数器,信号输入脚使用上升沿和下降沿中断,来了中断后,关闭计数器,读计数器数值判断是否符合起始码的宽度,起始码个数满足之后,如果再有中断,就判断数据码的宽度是否符合要求,但是发过来的数据有可能是连着几个0或者几个1,我读数据段这部分该怎么写呢,难道要做很多的判断(1倍数据宽度,2倍数据宽度等),有什么好的方法没有?还有还有另外一个PWM定时器的中断,还有怎么样避免两个中断互相影响?谢谢

协议.png (6.31 KB )

协议.png

相关帖子

沙发
huangxz| | 2013-4-10 14:01 | 只看该作者
楼主用的是什么码格式,如果是曼码,就用定时器中断就可以判了,一般不要求使用脉宽捕捉.

使用特权

评论回复
板凳
Guards| | 2013-4-10 16:20 | 只看该作者
接收中断中,只存储脉宽,等接收完一帧后,再解码,这样就不会影响PWM输出了。

使用特权

评论回复
地板
airwill| | 2013-4-10 19:10 | 只看该作者
测试时间, 最好不要随便关闭定时器,尽量使用硬件捕捉来采集脉冲。

使用特权

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

本版积分规则

14

主题

48

帖子

1

粉丝