mscomm控件会不会自个儿发送一些数据

mscomm控件会不会自己发送一些数据?
最近在做usb转串口的上位和下位,遇到了一些问题。

背景:
上位:PC上调用mscomm控件,做一个串口的调用,并对串口进行一些读写操作。
下位:LPC1778的板子,作为usb device, CDC类。
板子与PC之间用usb连接,这样pc就能识别一个虚拟串口,供上位软件使用。


PC与板子之间能够通信,数据都能收发。但是有时候,板子会出现stall pid 错误,即PC发出一些错误的PID报文,板子无法识别。这样的话,板子usb device的0x82 IN端口就halt,停止工作了。PC继续给板子 usb device发送报文,板子能够接收到,但是就是进入不了0x82 IN中断(由于已经halt了)。报文见usblyzer 截图。      

这里有两个问题:
1. mscomm会不会自己发送一些数据,而不是程序让他发送的?
   比如mscomm会不会自己修复一些错误之类的。

2. 如果出现了这种错误,该如何修复?
   已经试过GetLastError以及ClearCommError,因为GetLastError是获取函数中出现的返回错误,而PC的读取函数以及发送函数分别为GetInput和SendInput,好像不会出现这些错误。

mscomm,usb转串口,stall

------解决方案--------------------
1。
MSCOMM不会自己发数据,而且MSCOMM不会知道哪些数据是正确和错误。
2。
有可能不是上位机的问题,有可能是干扰造成的或是硬件(比如通信线不符合高速要求或焊点质量有问题等)不可靠,因此,这时应该在下位机程序里里做出判断。
    按你描述的,应该是直接对芯片编程,因此,这就可以从下位机程序里对数据进行判断对错误进行处理