mfc 串口通信 十六进制 显示的 问题
追风卡卡 2013-09-26 03:38:34 我这边有个传感器,给串口发送信息,要以十六进制显示!我用串口调试助手接收后是显示是正确的!但是我用MFC自己编写的串口接收的时候,显示的那个信息不对!
51 38 F9 FF 05 00 FE FF CB 02 AF 03 51 E8 A6 0B DE FD 4F
这是串口调试助手显示的十六进制消息
51 4F 00 01 66 30 C0 FF FF 1B 26 B8 CA 03 27 33 A1 0B 27 F3 1F 01 35
这是我自己程序上显示的消息
前面两个字节,51和38以及下面的51和4F是起始判断和计数的,从第三个字节开始是消息的内容!很明显两个接收显示的不一样!
我自己写的那个程序以前用过另外一个传感器,是正确的,所以我估计可能是我转换成十六进制的时候出错了!
请大家帮我看看错在哪里!
LONG CDASKDlg::OnComm(WPARAM ch, LPARAM port)
{
CString str;
str.Format("%02X ",ch);//我是这样转换十六进制的
m_strReceiveMsg+=str;
//m_strEditReceiveMsg=m_strReceiveMsg;
return 0;
}
m_strReceiveMsg是显示编辑框的成员变量