解决“串口接收数据时被截断”的问题

解决“串口接收数据时被截断”的问题
今天是忙里愉闲的写了这篇文章,我写的一个串口测试程序,用的是PComm.dll进行通信的,但在有的电脑上运行时,接收数据只要有点长度,
比如30个字节,数据就会被截断,并不是所有电脑都会出现这样的问题,害得同事说是不是用的控件有问题,其实,这知道,PComm.dll这样
的组件,技术已经相当的成熟了,做这个控件,人家可是大厂,就靠这吃饭的,再说了,几十年的东西,怎么会有问题,要有问题,肯定是自
已的问题;
  起初我怀疑是个别USB转串口的问题,可是刚好遇到一台IBM笔记本电脑的串口也出现了同样的问题,这可是硬串口啊,一直郁闷了很久,今
天用串口调试助手测试,发现同样的数据帧还是被截断了,说明不是个别软件的问题,当跟踪发现,停顿时间稍长一点,接收数据是正常的,
就从这里入手,接收数据时判断长度是否和要接收的数据长度相等,如果不相等,多读几次,就OK了;看来,有的串口接收数据是不一样,好
像缓冲区太小,当接收数据太长时,要分几次才能把数据接收完,所以当数据太长时,要分几次读取;
展开阅读全文

没有更多推荐了,返回首页