用C8051F410, 需要從串口接收兩個字節(jié),收到后置標志位,程序如下 vvoid comm0_rx(void) interrupt 4 { m=0; while(m<2) { if(RI0) { RI0=0; recdata[m]=SBUF0; m++; } } m=0; while(m<2) { SBUF0=recdata[m]; while(!TI0); TI0=0; m++; } flag0=1; flag1=1; ES0=0; } 程序運行后,接收及發(fā)送都沒問題,但就是最后置標志位語句不是每次都能執(zhí)行,偶爾接收一次就能執(zhí)行,大多數(shù)要接收好幾次才能置位(次數(shù)不定)。開始時接收和發(fā)送是在一起,后來分開,甚至置位語句放在接收與發(fā)送之間也沒用。哪位大俠遇到過這種問題? |