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

2020-02-02 09:19发布

用的51单片机,接受12路的调光台没有问题,可是接在珍珠台上,一至十路也没什么问题,十路以后就开始混乱,路数越大越乱,发现十路以后接收的不只是本地址,比如我设置的地址15,单片机一会接受15路的信号,一会接收16路的信号。越到后面接受的旁路信号越多。求高手指点
  下面是接受子函数:

  SCON=0x90;
  PCON=0x80;
  EA=1;
  ES=1;       ;//初始化函数,晶振8M

void see() interrupt 4             ;//串口中断
{
  if(RI==1)
   {
     
      if(!RB8)
             {  flag2=1;
                      num=0;
                 }
            else if(flag2)
              {
                    
              if(num==temp)            //temp 是我自己设定的地址
               {
                   P2=SBUF;         //取出数据
                        flag2=0;
                         num=0;
                       }
           
                           num++;
           }   
        RI=0;
   }
   
}

谢谢!
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
17条回答
50cents
1楼-- · 2020-02-03 09:16
午睡一觉真舒服,不过那位长者说没办法,然后就走了,真令人沮丧。
不过他走时遗漏了张纸片,于是我把它背了下来,不知是否有用。
  SCON=0x90;
  PCON=0x80;
  EA=1;
  ES=1;       ;//初始化函数,晶振8M

unsigned char num,temp;  
bit add256_num,add256_temp;

void see() interrupt 4             ;//串口中断
{
  if(RI==1)
   {
     if(!RB8)
     {                                                            // flag2=1;
       num=255; add256_num=1;
     }
     else                                                         // if(flag2)
     {
        if((num==temp) && (add256_num==add256_temp))            //temp 是我自己设定的地址
        {
         P2=SBUF;         //取出数据
                                                                 //   flag2=0;
                                                                 // num=0;
        }  
        num++;
        if(!num)
        {
         add256_num=~add256_num;  
        }
     }     
        RI=0;
   }
   
}
zjq_go
2楼-- · 2020-02-03 10:31
呵呵,设置标志位啊,这样中断时间会不会也太长,和INT型一样呢?
我打算换16M晶振,然后试了再说。我用的STC89C52RC,据说STC12C系列指令可以单时钟周期,可惜89不行。
您的那位长者真是宝贝啊,哈哈。做哪行的,是做舞台灯的吗?
bbs2009
3楼-- · 2020-02-03 15:10
我要做的DMX512,客户要支持512个设备,并且用的是20腿的STC12系列,不带XDATA的。。。。。
coody
4楼-- · 2020-02-03 19:38
Mark
DoDo915
5楼-- · 2020-02-04 00:54
 精彩回答 2  元偷偷看……
yzvip7
6楼-- · 2020-02-04 03:00
QQ:1191474325
提供DMX512产品方面的技术支持。

一周热门 更多>