请教,单片机通过串口红外通信

[复制链接]
3071|7
 楼主| xzgy_love 发表于 2010-10-12 09:10 | 显示全部楼层 |阅读模式
本帖最后由 xzgy_love 于 2010-10-12 09:12 编辑

2个mega128通过串口进行红外通信。

1。通信协议一定要像遥控器编码那样么?可以自已定义协议么?还是可以不用协议,直接按照串口通信协议来?

2。我该怎样保证红外通信不受干扰?
有两种方案:a 用遥控器编码,加上地址之类的,接收时只识别此地址
                b 半双工通信,从机将收到的再发给主机,主机进行对比,有错误丢弃重发。

图在附件里,单片机换成mega128

本帖子中包含更多资源

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

×
zjswuyunbo 发表于 2010-10-13 09:51 | 显示全部楼层
新颖。。。
貌似可行,不过波特率不能太高
 楼主| xzgy_love 发表于 2010-10-13 10:19 | 显示全部楼层
2# zjswuyunbo
可行的,而且不用解码,发1收1。发0收0。波特率是不能太高,一般为2400以下
handlike 发表于 2010-10-13 10:22 | 显示全部楼层
可以不用协议,随自己意愿。载波38K。
如果协议做的好,可以验证一下收到的可靠性。
 楼主| xzgy_love 发表于 2010-10-13 10:41 | 显示全部楼层
4# handlike
就是协议这部分比较纠结,如果说主机发送,从机接收,从机再发回去,主机验证,不相符再丢弃重发,很麻烦吧。可是我如果在编码中加地址应该怎么加呢
handlike 发表于 2010-10-13 11:00 | 显示全部楼层
多个设备必须带地址,一对互发可以不用地址。
带地址的例子如:0xfa  address  dat  校验

注(1)其中校验=address+dat
   (2)0xfa这固定头字节
收到的校验值和自己计算的一致时,是合法数据。
 楼主| xzgy_love 发表于 2010-10-13 15:19 | 显示全部楼层
6# handlike
明白了,真的很感谢你
xinxi 发表于 2010-10-15 02:18 | 显示全部楼层
每次,同一数据 发送3遍
您需要登录后才可以回帖 登录 | 注册

本版积分规则

0

主题

10

帖子

0

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