|
以串口2為例, 如下修改, 串口3同理修改. (當(dāng)然, 建議是置標(biāo)志位, 主程序中發(fā)送, 而不要在中斷中發(fā)送,你非要中斷中發(fā)送,就做如下修改)
//void ISP_Check1(unsigned char i) //串口2發(fā)送數(shù)據(jù)調(diào)用函數(shù)
//{
// S2BUF=i;
// while(S2CON&S2TI==0); // 等特數(shù)據(jù)傳送 (S2TI發(fā)送中斷標(biāo)志)
// S2CON&=~S2TI; //清標(biāo)志位
//}
void Uart2() interrupt 8 using 1 //串口2中斷
{
if(S2CON&S2TI) S2CON&=~S2TI;
if(S2CON&S2RI) //如果收到數(shù)據(jù) S2RI置位
{
a = S2BUF;
S2CON&=~S2RI; //清標(biāo)志位
S2BUF = a;
// ISP_Check1(a); //翻轉(zhuǎn)LED效果
}
}
|
|