0
可能有多种原因可能导致你出现的问题:
- 你尝试在主循环内发送字符串“ Text”,而在println调用之间没有任何延迟。因此,微处理器正在全速运行,并尝试发送字符串“ Text”的速度远远超过了波特率所能容纳的范围。串行接口具有有限的I / O缓冲区,该缓冲区可能非常快地填充并在串行传输的中间覆盖旧值。因此有潜在的垃圾字符。
- 即使超级终端未运行,PC和Arduino也在交换串行消息。因此,当你在任意时间启动超级终端时,串行缓冲区中的数据可能与传输的开始或结束并不完全对应。
或者,你可能希望Arduino在开始发送串行数据之前先等待PC发出的串行命令。例如,当使用串行监视器时,你可以向Arduino发送一个按键,然后它会开始发送数据,这样当没有人在PC端监听或没有运行终端程序时,不会丢失任何数据。
最后,刷新串行连接两侧的串行缓冲区可能会帮助你清除部分串行消息。
收藏