⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 dmx512recieveprogram.txt

📁 DMX512接受程序,已经通过调试验证
💻 TXT
字号:
#pragma interrupt_handler uart0_rx_isr:19 
void uart0_rx_isr(void) 
{        
   uchar temp,resh,resl,DMX_Status; 
   //PORTC^=BIT(3); 
    //resh=UDR0; 
        DMX_Status=UCSR0A; 
        resh=UCSR0B; 
        resl=UDR0; 
        //if(UCSR0A&(1<<4)) 
      //resh=(resh>>1)&0x01;     // TAKE RXB8                                
    //if(resh==0)           //(1<<RXB8)) 
    if(DMX_Status&(1<<FE0))//|(1<<DOR0))         //test error frame   
     {                             
                                    //Start=1; 
                                        //n=0;     
                    //mm=1; 
                                 Break_flag=1; 
                                // UCSR0A&=~(1<<FE0); 
        }         
        ///***                  
        if(Break_flag==1) 
        {                         ///*** 
                      Break_flag=0; 
                                 //temp=resl;  
                                 if(resl==0) 
                                 { 
                                    //PORTC=~BIT(3); 
                                        Start=1; 
                                        n=0;     
                    mm=1; 
                                 } 
                                //  
          }        //**/          
     if(Start) 
             { 
                 if((n>=address)&&(n<address+4)) 
                         {   
                                    m[n-address]=resl;//resl; 
                                        mm++; 
                         }    
             
                 //如果已接收了本机所有通道的数,则暂停,等待下一个复位。 
                 if (mm==5) 
                     Start=0; 
             } 
                n++;    //DMX512主机发的数据个数计数器               
 }  


按照流程图来写的,为什么收不到信号,那位大侠指点一下!!

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -