试试改用非阻塞式收发
- void main()
- {
- P0M0=0x00;
- P0M1=0x00;
- P1M0=0x00;
- P1M1=0x00;
- P2M0=0x00;
- P2M1=0x00;
- P3M0=0x00;
- P3M1=0x00;
- P4M0=0x00;
- P4M1=0x00;
- P5M0=0x00;
- P5M1=0x00;
-
- UartInit();
- ES=1;
- IE2=0X01;
- EA=1;
- UartSendStr("Hello World\r\n");
-
- while(1)
- {
- //UartSendStr("Hello World\r\n");
- if(rptr!=wptr)
- {
- if(!busy2)
- {
- busy2=1;
- S2BUF=buffer[rptr++];
- if(rptr>=MAX)
- {
- rptr=0;
- }
- }
- }
- //串口2收到数据往串口1发数据
- if(rptr2!=wptr2)
- {
- if(!busy)
- {
- busy=1;
- SBUF=buffer2[rptr2++];
- if(rptr2>=MAX)
- {
- rptr2=0;
- }
- }
- }
- }
- }
复制代码
|