关于串口中断
void uart(void) interrupt 4 using 3 { unsigned char i,j; 、 EA=0; i=SBUF; RI=0; //接收中断标志位 if((i==0x5b)||(i==0xfa)) { while(!RI); i=SBUF; RI=0; //还要接收数据所以置0 if((i==0x5c)||(i==0xf5)) { check=0; while(!RI); i=SBUF; RI=0; while(!RI); 。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。 }
大概如上代码,其中TI,RI标志很重要
TI串口发送完一组数据后的标志位
若串口发送完一组数据,则硬件置1,若还要发送数据,软件置0
RI串口接受完一组数据后的标志位
若串口接收完一组数据,则硬件置1,若还要接收数据,软件置0
时间: 2024-10-05 05:05:02