?? dmx512recieveprogram.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 + -