永发信息网

串口数据读取 波特率115200 VC编程 程序运行后会卡死 不传了 就恢复正常,但是提取的数据会很乱

答案:2  悬赏:20  手机版
解决时间 2021-02-01 15:53
采用Comm控件编程,接收4组数,在Oncomm响应函数中,编写了数据提取程序,提取位数会出错,接收数据时,程序就不响应任何操作了,求解决方法,或实例程序,谢谢

这段代码不重要,我只想知道,如何用串口处理快速接收数据的问题,采用的方式,最好有代码,发到294662336@qq.com 谢谢
if(m_ctrlComm.GetCommEvent()==2)
{
variant_inp=m_ctrlComm.GetInput();
safearray_inp=variant_inp;
len=safearray_inp.GetOneDimSize();
for(k=0;k safearray_inp.GetElement(&k,rxdata+k);
for(k=0;k {
BYTE bt=*(char*)(rxdata+k); //字符型
i=0;
j=0;
m=0;
strtemp.Format("%c",bt); //将字符送入临时变量strtemp存放

if (bt=='X')
{
m_X="";
i=k+1;
}
if (bt=='Y')// need change
{
m_Y="";
j=k+1;

}
if (bt=='Z')
{
m_Z="";
m=k+1;
}
m_strRXData+=strtemp; //加入接收编辑框对应字符串
m_X+=m_strRXData.Mid(i,j-i);
m_Y+=m_strRXData.Mid(j,m-j);
m_Z+=m_strRXData.Mid(m,len-m);
usaldata+=strtemp;
}
。。。。
UpdateData(FALSE);
最佳答案
你这个地方为什么要写两个循环:
for(k=0;k
全部回答
  • 1楼网友:野慌
  • 2021-02-01 14:49
用 标准 的 波特率 当然,通信 2 端 的 波特率 或许 有 误差,但不能 差太多
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯