我正在使用在微处理器(Arduino Uno)上运行的程序来监控某些实验室设备的状态。然后,微处理器通过USB串行端口将设备状态报告给PC。
除以下问题外,一切正常:微处理器通过USB集线器连接到PC。如果我从PC上拔下集线器(将微处理器插入集线器),则微处理器接收一个伪数据字节(这似乎总是无符号字符值240)。如果我从集线器上拔下微处理器,将集线器插入PC,则不会发生这种情况。
因此,似乎PC在插入时与集线器通信,并且该通信的一个字节进入我的微处理器(在trun中,导致我的微处理器向我的PC发送错误消息)。这似乎是一种看似合理的情况诊断/这种已知的行为吗?有没有人有任何关于为什么会发生这种情况的建议/如何阻止它?我总是可以让我的代码检查这个并忽略它在必要时收到的第一个字节,但我很想知道发生了什么。
谢谢,
汤姆