MyException - 我的异常网
当前位置:我的异常网» VC/MFC » 视朋友们帮帮忙,万分感谢!(关于串口)

视朋友们帮帮忙,万分感谢!(关于串口)

www.MyException.Cn  网友分享于:2013-06-26  浏览:1次
望朋友们帮帮忙,万分感谢!(关于串口)

//串口接收处理函数
len=safearray.GetOneDimSize();//得到有效数据长度
CString strtemp;
for(k=0;k<len;k++)
safearray.GetElement(&k,rxdata+k);
// 接受数据 
for(k=0;k<len;k++)
{
safearray.GetElement(&k,rxdata+k); //转换为BYTE型数组
BYTE bt=*(char*)(rxdata+k); //字符型 
strtemp.Format("%02x",bt); //将字符送入临时变量strtemp存放 
m_receive+=strtemp; 


}

下位机为51,以16进制,共48字节发送至计算机串口,数据出现错误,只能读到前8个字节!
但是用串口工具保存的数据以文件的格式发送,无错误,正常!
两种方式有何区别,万分感谢!
C 计算机

------解决方案--------------------
多读几次 或者等一会儿再读
串口传输的速度比较慢 再加上发送端可能不连续,所以要考虑延迟
------解决方案--------------------
瞬时,有数据,但并不代表数据全过来了,发送完后,先延时一下,再读串口数据,一般数据会全达到

文章评论

软件开发程序错误异常ExceptionCopyright © 2009-2015 MyException 版权所有