通过串口读取数据
帮我看看下面是什么原因。发送的命令是正确的,但是的得不到要的数据,显示的是乱码,帮忙看看是什么原因,怎么改?
程序:
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 一下吧
[解决办法]