请教:单片机程序问题

[复制链接]
7550|3
 楼主| zwxhehe2012 发表于 2013-4-10 13:20 | 显示全部楼层 |阅读模式

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

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册

×
huangxz 发表于 2013-4-10 14:01 | 显示全部楼层
楼主用的是什么码格式,如果是曼码,就用定时器中断就可以判了,一般不要求使用脉宽捕捉.
Guards 发表于 2013-4-10 16:20 | 显示全部楼层
接收中断中,只存储脉宽,等接收完一帧后,再解码,这样就不会影响PWM输出了。
airwill 发表于 2013-4-10 19:10 | 显示全部楼层
测试时间, 最好不要随便关闭定时器,尽量使用硬件捕捉来采集脉冲。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

14

主题

48

帖子

1

粉丝
快速回复 在线客服 返回列表 返回顶部