有趣现象之一:最近想验证一下MSComm控件输入缓冲区过小时数据接收的情况。很有意思的是,当我用一个串口调试的时候,输入缓冲区无论我设多小,我都能完整接收发送来的数据。在网上和别人讨论,他们都得不到我这种结果,因为他们是两个串口互发互收调试的。期待着我的单片机快点到位,好能继续我的实验。
有趣现象之二:使用MSComm控件的OnComm事件时有问题。不论你的InputLen设置多少,当接收8个字符时,OnComm响应就执行一次,而单步调试时就不会出现这种问题。并且使用OnComm时,控件会在接收的数据后添加0。
有趣现象之三:接收MSComm控件的数据时可以使用Variant型数据变量,但是我们知道Variant型数据变量的长度是16Byte的。那么当我要接收的数据大于16Byte时,能正确接收数据吗?答案是可以的,程序执行时,可以用Variant型变量接收大于16Byte的数据。但是单步执行时,程序就会出错。
(以上为一个串口调试时出现的情况)