|
本帖最后由 martin200 于 2014-8-17 15:48 编辑
求助: 串口收到的数据,显示的问题?! (学习从零开始学VC )
首先谢谢大神写的教程, 链接如下:
<从零开始学VC系列教程 三. 串口通信及自定义消息>
http://www.amobbs.com/forum.php? ... E7%A8%8B&page=1
下载了第三章的源码想修改下, 添加了2个 编辑框, 可是编辑框内的数据接收不正确. 求助.
1. 例如 我 串口 接收的 数据是 00 01 02 03 04 05 06 07 08 09 , 我想把 其中的 第3位-02 显示在 "状态1" 第4位 -03 显示在 "状态2" 中,
可是 调试时, "状态1"显示为"04 ,""状态2" 显示"05"; 偶尔还会变成其他的数值.
2. 另外接受框 我想完整接收一次换行 +"\r\n" , 怎么变成 每个字节都换行了.
/////////////////////////////////////////////////////////////
//函数:OnPcomm()
//功能:从串口读取数据
/////////////////////////////////////////////////////////////
void CEg03Dlg::OnPcomm()
{
char buf[200];
int end=sio_read(Port,buf,100);
if(end)
{
CString a,b="";
GetDlgItemText(IDC_EDIT_RECMSG,b);
buf[end]=0;
for(int i=0;i<end;i++)
{
a.Format("%02X ",(unsigned char)buf);
b+=a;
if(i==2)
{
SetDlgItemText(IDC_EDIT1_State1,a);
}
else if(i==3)
{
SetDlgItemText(IDC_EDIT1_State2,a);
}
}
SetDlgItemText(IDC_EDIT_RECMSG,b);
}
}
个人修改的源代码
|
本帖子中包含更多资源
您需要 登录 才可以下载或查看,没有帐号?注册
x
阿莫论坛20周年了!感谢大家的支持与爱护!!
曾经有一段真挚的爱情摆在我的面前,我没有珍惜,现在想起来,还好我没有珍惜……
|