MFC 做的上位機,與板子通信,串口設定沒有問題,
流程是 PC下發指令,板子回傳字串(只有數字和英文字母),現在的問題是有時候接收到亂碼,亂七八糟都有,有時候數字變成字母,有時候數字變成亂七八糟的中文,大概200次出現一次,
大家看下什么原因?
接收資料部分的代碼:
static UINT m_nReceiveBytes=0; //該變數用于接收字符計數
CString m_strReceive ;
LRESULT CCchipPrintToolDlg::OnReceiveChar(WPARAM ch, LPARAM lParam)
{
m_nReceiveBytes++;
CString strDis = "";
CString strTemp;
strTemp.Format("%c",ch);
m_strReceive += strTemp;
LOG(m_strReceive );
}
uj5u.com熱心網友回復:
收發的二進制是否一樣哦uj5u.com熱心網友回復:
收發的是字串!
uj5u.com熱心網友回復:
字串只是二進制的一種顯示形式,比如0X41在字符中表示‘A’,在數字中表示65;
你可以上網找個抓包工具看一看,收發資料如果一樣,那應該是是中間對資料的處理方式出了問題,大小端或者位元組編碼等問題
uj5u.com熱心網友回復:
根據我的日志來看,我接收到的字符本身是亂碼,而且是低概率事件,所以估計是串口板子或者串口線有問題~!轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/56506.html
標籤:C++ 語言
