永发信息网

MFC中利用SrialPort提取数据碰到的问题

答案:2  悬赏:70  手机版
解决时间 2021-01-23 00:35
  • 提问者网友:轮囘Li巡影
  • 2021-01-22 10:32
LONG CSerialPortTestDlg::OnComm(WPARAM ch,LPARAM port)
{
m_strEditReceiveMsg+=ch;
CString strTemp;
//m_ctrlComboComPort.SetCurSel(0);

strTemp=m_strEditReceiveMsg.Mid(8,14);
char *temp=(char*)((LPCTSTR)strTemp);
char tbuf[13];
tbuf[0]=temp[0]; tbuf[1]=temp[1];
tbuf[2]=temp[2];tbuf[2]=0;
m_intLonD=atoi(tbuf);
UpdateData(FALSE);

UpdateData(FALSE);

strTemp.Empty();
m_strEditReceiveMsg.Empty();
//UpdateData(TRUE);
return 0;

}

}

其中,m_strEditReceiveMsg是一个cstring型的编辑框控件,用来显示接受到的数据,数据协议为000000018101432005920 + 0x0d + 0x0a,波特率:1200
数据位:8
停止位:1
校验位:none
流控制:none
编辑框显示:000000018101432005920
我想将1810143和2005920在界面上用编辑框分别显示,用上面的程序却提取不出来,消息映射我也加了,但000000018101432005920可以显示,只是提取不出来,请问是怎么回事?
问题补充:serialport初始设置都好了,只是接收时有问题

简单说,就是怎么把m_strEditReceiveMsg里的变量值(如:000000018101432005920)中的1810143和2005920截取下来赋给两个编辑框的空间并让它们显示出来
最佳答案
  • 五星知识达人网友:天凉才是好个秋
  • 2021-01-22 10:49
你把你的数据 format 下
CEdit 控件只能显示字符串类型的
你直接给串口数据 显示是空的.
全部回答
  • 1楼网友:佘樂
  • 2021-01-22 11:01
不用这么麻烦吧。用m_strpath.getfilename()不能直接得到text1.txt?
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯