帮我看看下面是什么原因。发送的命令是正确的,但是的得不到要的数据,显示的是乱码,帮忙看看是什么原因,怎么改?
程序:
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[]来接受收到的数据,然后看是什么,想转成字符串的话,还要看返回数据是用什么编码的
------解决方案--------------------
获得数据显示的格式不一致 使用相同的数据格式试一试