关于串口快速接收不及时现象!
由于工作的特殊性,我们需要自己写个上位机串口软件,现在有问题想请教一下,还请各位指点谜经!
我自已写的串口工具(DELPHI 7 + SPCOMM2.5)收发都能进行,也不会出现接收错误。但是在高速定时接收的时候会出现把一帧分为二帧来接收的现象:即如果需要接收8个字节,我这边会分为两帧,如先接2个字节,再接6个字节。发现该现象是由于我这边把每接收的一帧数据作为MEMO控件的一行显示,所以很明显。
我设置SPCOMM控件波特率:9600;停止位2位,无校验,数据位8位。SPCOMM这个控件其它属性个人觉得重要的就要属ReadIntervalTimeOut了,我设置为20,定时上位机发送,下面单片机回传,上位机接收,帧间隔时间为50,偶尔会出现上述情况!个人怀疑SPCOMM这个控件是不是把接收数据帧/字节 判断之间的超时累计了起来,才会出现该现象,仔细看了下该控件调用的API,看不懂了,没办法,来请教各位了...
请问:如何才能保证上位机每发送一帧数据后,下位机接收,然后再回传给主机,并且要保证[b]主机每次接收的一帧数据完整!![/b]