已回答假定已回答

关于串口通讯

ever32 在 2016-9-21 詢問的問題
最後回覆由bomlulu於2016-11-10提供

我现在在使用adcu7061串口通讯。能发送,但是不能接受,我需要中断接收。有没有这个方便的资料给我

 

if((COMSTA0 & 0X01)==0X01)

{ucRxChar = COMRX;

  sprintf ( (char*)szTemp1, "%d,\r\n",ucRxChar);GupSend(szTemp1);

}

以上不是中断的接收数据,只能接受单字节.我实际需要中断来接收.

同时还有一个问题,按照上面的程序,我使用串口工具,例如发送01,接收到了30 2C 0D 0A;发送02,接收到了31 2C 0D 0A;

......发送09。接收到了39 2C 0D 0A;

如果发送0a ,接收到了31 30 2C 0D 0A ;

如果发送10,接收到了31 36 2C 0D 0A;

 

很有规列:在发送01-09的时候,只是接收到的数据30-39的3后面的数据对应1-9;

不管怎么样。这些数据都不是我需要的。我的意思是发送01的时候,接收的正确的应该是01 0D  0A;

实际应用中,如发送01 02 03 04.我应该是中断接收依次是01 0D 0A  , 02 0D 0A ;03 0D 0A; 04 0D 0A

結果