初级会员

- 积分
- 124
- 金钱
- 124
- 注册时间
- 2018-3-26
- 在线时间
- 288 小时
|
1金钱
- void Uart1RxOneByte(void) //interrupt 16
- {
- if(SCON1 & 0x01)
- {
-
- Buf_Reci[WriteReci]=SBUF1;
- if(WriteReci<BUFRECI)
- {
-
- WriteReci++;
- }
- SCON1 &= (~0x01);
- if((0xEE==bufRxd[0])&&(0xB1==bufRxd[1])&&(0x04==bufRxd[6])&&(0x01==bufRxd[9])&&(0xFF==bufRxd[13]))
- {
- SBUF1=0X06;
- }
- else if((0xEE==bufRxd[0])&&(0xB1==bufRxd[1])&&(0x04==bufRxd[6])&&(0x02==bufRxd[9])&&(0xFF==bufRxd[13]))
- {
- SBUF1=0X02;
- }
-
- }
- }
复制代码 处理的报文为:
EE B1 11 00 00 00 04 10 01 01 FF FC FF FF
EE B1 11 00 00 00 04 10 01 00 FF FC FF FF
当串口接收到第一行报文时,向串口发0X06,接收到第二行报文时,发送0X02,但是,我调试的时候,都只能接收到0X06,并且是一次接收到16个16进制数,这是什么原因呢?
|
|