搜索
bottom↓
回复: 24

DMX512发送的问题

[复制链接]

出0入0汤圆

发表于 2011-4-29 09:13:59 | 显示全部楼层 |阅读模式
看了下DMX512的时序,写了一个程序,主机发送,从机接收,但现在从机收不到据,不知错在哪里,哪位帮我看一下。
        void main()
             {
            while(1){
          RDE=1;//发送控制端
          nBuffer[1]=255;        //总调        nBuffer[]为通道数值
          nBuffer[2]=2;        //R
          nBuffer[3]=50;        //G
          nBuffer[4]=250;        //B
            dmxout();
                }
               }
void dmxout()
{       
static uchar tt,ii;
            TXD=0;
                for(ii=100;ii>0;ii--);//delay 100 us
                TXD=1;
                for(ii=10;ii>0;ii--);//delay 10 us         

                TXD=0;                                //开始位
                TB8=0;                        //
                SBUF=0x00;         //start-code           起始码
            TXD=1;                 //停止位
                for(ii=8;ii>0;ii--);//延时
                                TI=0;
       
                for(tt=1;tt<4;tt++){           //正常数据
                                TXD=0;                          //开始位
                                TB8=1;
                                SBUF=(nBuffer[tt]);//通道数值
                                TXD=1;                          //停止位
                                for(ii=8;ii>0;ii--);
                                TI=0;
                                }
                        TXD=1;                 //        数据包停止位
}

阿莫论坛20周年了!感谢大家的支持与爱护!!

月入3000的是反美的。收入3万是亲美的。收入30万是移民美国的。收入300万是取得绿卡后回国,教唆那些3000来反美的!

出0入0汤圆

发表于 2011-4-29 09:35:42 | 显示全部楼层
for(tt=1;tt<4;tt++) 貌似只循环了三次
改成 for(tt=0;tt<4;tt++) 试试

出0入0汤圆

 楼主| 发表于 2011-4-29 09:44:39 | 显示全部楼层
回楼上的还是不行,
错在哪了
头像被屏蔽

出0入0汤圆

发表于 2011-4-29 10:11:56 | 显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽

出0入0汤圆

 楼主| 发表于 2011-4-29 10:44:49 | 显示全部楼层
波特率是250K,用控台可以收到数据,用主从机发就收不到,波特率是用定时器1来接收的,用的是STC12C5404
头像被屏蔽

出0入0汤圆

发表于 2011-4-29 11:19:20 | 显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽

出0入0汤圆

发表于 2011-4-29 11:23:19 | 显示全部楼层
应该是break信号不正常吧
头像被屏蔽

出0入0汤圆

发表于 2011-4-29 11:34:51 | 显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽
头像被屏蔽

出0入0汤圆

发表于 2011-4-29 11:44:59 | 显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽

出0入0汤圆

发表于 2011-4-29 12:45:11 | 显示全部楼层
路过,支持一下!

出0入0汤圆

发表于 2011-4-29 13:04:22 | 显示全部楼层
不知道你的接收程序怎么写的,不过大同小异了;看样子你是检测RB8来判断BREAK的;

这样试试

先设置好串口(250K,9位数据,1停止位),如果你接了75176的话,还要把RE和DE管脚拉高

void dmxout()  
{       
static uchar tt,ii;

TI=0;
TB8=0;         //
SBUF=0x00;         //break,替代你的TXD=0;for(ii=100;ii>0;ii--);TXD=1;
while(!TI);
TI=0;
//如果你的接收是通过判断RB8,且没延时才能这样,否则只能:
//TXD=0;
//for(ii=100;ii>0;ii--);//delay 100 us
//TXD=1;

TB8=1;
SBUF=0x00;       //start-code           起始码
while(!TI);
TI=0;

for(tt=1;tt<4;tt++) //正常数据
{            
SBUF=(nBuffer[tt]);//通道数值
while(!TI);
TI=0;
//for(ii=8;ii>0;ii--); //要确定延时时间足够,要么通过判断TI位
//TI=0;  
}
}
头像被屏蔽

出0入0汤圆

发表于 2011-4-29 13:35:01 | 显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽

出0入0汤圆

 楼主| 发表于 2011-4-29 15:50:30 | 显示全部楼层
谢谢各位了!
按xiaowu191 小屋说的,已经搞定了,呵呵!
xiaowu191 小屋是做LED的吗?
头像被屏蔽

出0入0汤圆

发表于 2011-4-29 17:08:59 | 显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽

出0入0汤圆

发表于 2011-4-29 19:47:46 | 显示全部楼层
回复【12楼】bbs2009  
-----------------------------------------------------------------------

谢谢指导,的确有不严谨的地方;
通过RB8来判断BREAK是可取的,当然适当的延时检测RX管脚信号低是最好的;
通过TB8=0,来当作BREAK信号只是自己内部使用的,像楼主这样的主从;

但如果是当作标准信号,比如做控台当然是不行的;

出0入0汤圆

发表于 2011-4-29 19:48:43 | 显示全部楼层
回复【13楼】liuguang  
-----------------------------------------------------------------------

业余的,大家多多交流一下

出0入0汤圆

 楼主| 发表于 2011-4-29 21:17:41 | 显示全部楼层
谢谢两位的耐心指导,DMX512我不是很懂,有时间好好摸透一下。

出0入0汤圆

发表于 2011-5-9 11:12:28 | 显示全部楼层
你们太专业了。我进来学习一下!

出0入0汤圆

发表于 2011-6-16 14:10:25 | 显示全部楼层
mark

出0入0汤圆

发表于 2011-8-25 16:09:57 | 显示全部楼层
mark

出0入0汤圆

发表于 2011-11-15 11:14:22 | 显示全部楼层
mark

出0入0汤圆

发表于 2012-4-16 02:34:04 | 显示全部楼层
学习了!!

出0入0汤圆

发表于 2012-11-30 19:27:53 | 显示全部楼层
mark 正在做这个;

出0入0汤圆

发表于 2022-8-17 20:51:28 | 显示全部楼层
本帖最后由 laihappy 于 2022-8-17 21:11 编辑
xiaowu191 发表于 2011-4-29 13:04
不知道你的接收程序怎么写的,不过大同小异了;看样子你是检测RB8来判断BREAK的;

这样试试
(引用自12楼)


我加您好友了,我没有权限发内邮
回帖提示: 反政府言论将被立即封锁ID 在按“提交”前,请自问一下:我这样表达会给举报吗,会给自己惹麻烦吗? 另外:尽量不要使用Mark、顶等没有意义的回复。不得大量使用大字体和彩色字。【本论坛不允许直接上传手机拍摄图片,浪费大家下载带宽和论坛服务器空间,请压缩后(图片小于1兆)才上传。压缩方法可以在微信里面发给自己(不要勾选“原图),然后下载,就能得到压缩后的图片】。另外,手机版只能上传图片,要上传附件需要切换到电脑版(不需要使用电脑,手机上切换到电脑版就行,页面底部)。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

手机版|Archiver|amobbs.com 阿莫电子技术论坛 ( 粤ICP备2022115958号, 版权所有:东莞阿莫电子贸易商行 创办于2004年 (公安交互式论坛备案:44190002001997 ) )

GMT+8, 2024-4-24 05:11

© Since 2004 www.amobbs.com, 原www.ourdev.cn, 原www.ouravr.com

快速回复 返回顶部 返回列表