发新帖我要提问
12
返回列表
打印

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

[复制链接]
楼主: zjq_go
手机看帖
扫描二维码
随时随地手机跟帖
21
zjq_go|  楼主 | 2009-9-19 00:45 | 只看该作者 回帖奖励 |倒序浏览
呵呵,不好意思

使用特权

评论回复
22
呆板书生| | 2009-9-20 08:43 | 只看该作者
呵呵,原来如此

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

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

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

后面的数据字节,RB8=1

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

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

把NUM和TEMP 改成CHAR ,也是不完全对,因为DMX512是有512个数据,当然,你不要后面的数据就没问题。

使用特权

评论回复
23
zjq_go|  楼主 | 2009-9-21 14:40 | 只看该作者
恩,倒不是中断的问题。
    原因是51单片机执行速度慢,用int型由于中断时间太长,会错过帧的接收,所以用大型调光台会混乱,可能是大型调光台要发512路,帧之间的间隔更短,而在12路台上帧间隔比较长,所以就会出现这种现象。
    至于CHAR不能接收512的确是个问题,我最终解决办法是换成16M晶振,串口设置降频就OK拉

使用特权

评论回复
24
lyn3210| | 2010-8-20 17:27 | 只看该作者
笑:51行吗?

使用特权

评论回复
25
zhixuezhe| | 2010-9-28 00:05 | 只看该作者
找个专业做DMX512解码的就可以了,www.sz-clen.com

使用特权

评论回复
26
hqf224| | 2011-7-13 13:59 | 只看该作者
我会!请联系我QQ314997314

使用特权

评论回复
27
datouyuan| | 2012-11-26 14:06 | 只看该作者
收藏了

使用特权

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

本版积分规则