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

测试串口通讯接收数据有关问题

2012-12-26 
测试串口通讯接收数据问题使用串口测试工具测试接收数据,发送的是16进制01 03 05 0f,累加求和接收代码为by

测试串口通讯接收数据问题
使用串口测试工具测试接收数据,发送的是16进制01 03 05 0f,累加求和
接收代码为
byte buff[128] = {0};


       while(1)
{
bWriteStat = ReadFile(hCom,buff,dwBytesWrite,&dwBytesWrite,NULL);
if(!bWriteStat) 

printf("读串口失败!\n");
}

cout<<buff<<endl;
Sleep(500);
}

输出为:
????↑
这是怎么回事,应该怎么让输出为int类型?


                  CString s(buff);
cout<<s<<endl;
printf("显示%x\n",buff);


试了一下这三种输出,每次都是变动的,求助!

[解决办法]
用 printf 吧:

for (i=0;i<n;i++) printf("%02X ",buff[i]);
其中,n 是读取的字节数
[解决办法]
查看一下你的串口设备是以ASIIC发送的,
还是以二进制发送的!
如果是二进制发送的,就需要将二进制转换
[解决办法]
你串口什么程序?控制台还是窗体?
控制台的话,要int就得用。
for语句循环。
printf("%d ",buff + i)。
[解决办法]
这两天在忙其他一个程序,这个程序暂时放着了,不好意思了,太忙了,先结贴了,等到时候不会了在问大家

热点排行