本人实测OK
void moni_uart_Init() //初始化模拟串口 { //利用外部中断 _integ=0b00000010; //下降沿触发中断 ////啥垃圾玩意,只有一个中断口 _inte=1; //中断使能啊 _emi=1; } void __attribute((interrupt(0x04))) int1(void) //外部中断子函数 { unsigned char Output,j; j=0; Output=0; GCC_DELAY(500);//等过起始位 while(j<8)//发送8位数据位 { Output >>=1; if(RXD) { Output|=0x80; //先收低位 } j++; GCC_DELAY(400); } receiveByte=Output; _intf=0; RI=1; }
接收处理函数
if(RI==1) { RI=0;Send_Uart(receiveByte); if(receiveByte==0x01) { LED=1; } }