当前位置: 代码迷 >> WinCE >> 通过串口读取数据解决方法
  详细解决方案

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

热度:118   发布时间:2016-04-28 13:19:59.0
通过串口读取数据
帮我看看下面是什么原因。发送的命令是正确的,但是的得不到要的数据,显示的是乱码,帮忙看看是什么原因,怎么改?
程序:
 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 ;

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


------解决方案--------------------
一般接收需要写成线程,网上串口的代码很多

LZ,google 一下吧
------解决方案--------------------
探讨

乱码是你设置频率不对

------解决方案--------------------
可能是编码问题吧

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