首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 嵌入开发 > WinCE >

通过串口读取数据解决方法

2012-03-09 
通过串口读取数据帮我看看下面是什么原因。发送的命令是正确的,但是的得不到要的数据,显示的是乱码,帮忙看

通过串口读取数据
帮我看看下面是什么原因。发送的命令是正确的,但是的得不到要的数据,显示的是乱码,帮忙看看是什么原因,怎么改?
程序:
 DWORD wCount=100;//读取的字节数
 BOOL bReadStat;
 BYTE buf[] = "VAL1?\r\n";
 DWORD Operated=0;
 BOOL bWriteStat;
 wchar_t str[100]={0};
 
 bWriteStat=WriteFile(hCom, buf,8, &Operated, NULL);
 if(!bWriteStat)
{
  AfxMessageBox(L"写串口失败!");
}
 Sleep(5000);
 bReadStat=ReadFile(hCom,str,wCount,&wCount,NULL);
 if(!bReadStat)
  AfxMessageBox(L"读串口失败!");
//PurgeComm(hCom, PURGE_TXABORT|
//PURGE_RXABORT|PURGE_TXCLEAR|PURGE_RXCLEAR);

  size=atof((char*)(LPCTSTR)str);
  m_disp=(int)size ;

调试的时候的到的如下:
+str0x0012f410 "???????????"wchar_t [100]


[解决办法]
一般接收需要写成线程,网上串口的代码很多

LZ,google 一下吧
[解决办法]

探讨

乱码是你设置频率不对

[解决办法]
可能是编码问题吧

楼主你先用BYTE[]来接受收到的数据,然后看是什么,想转成字符串的话,还要看返回数据是用什么编码的
[解决办法]
获得数据显示的格式不一致 使用相同的数据格式试一试

热点排行