有高手懂DMX512通信协议吗?帮我看看这段接收程序

[复制链接]
14285|26
 楼主| zjq_go 发表于 2009-9-19 00:45 | 显示全部楼层
呵呵,不好意思
呆板书生 发表于 2009-9-20 08:43 | 显示全部楼层
呵呵,原来如此

冷先生看到一句
SCON=0x90;
就激动了,

DMX512,是采用11位通讯方式,所以一定用这11位模式,

然后,第一次是同步字节,所以,RB8=0,

后面的数据字节,RB8=1

所有数据,按产生的时间,为第零个字节,第一个字节,,,,最大为512个字节,所以叫DMX512,

程序是没有问题,按楼主所说,可能是在第一个中断和第二个中断之间有一个更高级别的中断,导致接收的响应时间太短,而产生误差。

把NUM和TEMP 改成CHAR ,也是不完全对,因为DMX512是有512个数据,当然,你不要后面的数据就没问题。
 楼主| zjq_go 发表于 2009-9-21 14:40 | 显示全部楼层
恩,倒不是中断的问题。
    原因是51单片机执行速度慢,用int型由于中断时间太长,会错过帧的接收,所以用大型调光台会混乱,可能是大型调光台要发512路,帧之间的间隔更短,而在12路台上帧间隔比较长,所以就会出现这种现象。
    至于CHAR不能接收512的确是个问题,我最终解决办法是换成16M晶振,串口设置降频就OK拉
lyn3210 发表于 2010-8-20 17:27 | 显示全部楼层
笑:51行吗?
zhixuezhe 发表于 2010-9-28 00:05 | 显示全部楼层
找个专业做DMX512解码的就可以了,www.sz-clen.com
hqf224 发表于 2011-7-13 13:59 | 显示全部楼层
我会!请联系我QQ314997314
datouyuan 发表于 2012-11-26 14:06 | 显示全部楼层
收藏了
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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