|
我现在做毕设 简单的gps数据接收用的是串口rs232。接收到的数据是乱码
请高手执指教!谢谢
我写的代码如下
redbuff()//读取串口数据的函数
{
CHAR *readBuff=NULL;//接收缓冲区
ReadFile(ceSeries->m_hComm,readBuff,2,actualReadLen,0);
if(actualReadLen>0)//我的意思是unicode每个字符占两个字节吗,所以每次接收两个字符
{
::SendMessage(ceSeries->m_hWnd,WM_COMM_RXCHAR,(WPARAM)readBuff,(LPARAM) ceSeries->portNo);
}//接受到字符后向窗口发送消息
}
LONG CGpsDlg::OnCommunication(WPARAM ch,LPARAM port)//处理接受到的数据的函数 这里的参数ch就是上边传过来的readbuff
{
m_strReceived+=(cstring*)ch;//这里的m_strReceived以定义为类的成员变量,是cstring类型的
m_strReceived+=_T("\r\n");
SetDlgItemText(IDC_EDIT2,m_strReceived);//在文本框里显示字符
return 0;
}
请高手指教
怎么处理上边的两端两段代码使显示出正确的数据
谢谢!
请给出修改后的完整代码
|
|