【发布时间】:2017-01-27 10:27:28
【问题描述】:
我正在开发 Arduino,并且正在使用与计算机进行通信的Serial.begin() 功能。现在,由于数据速率范围为 300...115200。
多数使用9600!
为什么会这样?它有什么意义
【问题讨论】:
标签: arduino arduino-ide
我正在开发 Arduino,并且正在使用与计算机进行通信的Serial.begin() 功能。现在,由于数据速率范围为 300...115200。
多数使用9600!
为什么会这样?它有什么意义
【问题讨论】:
标签: arduino arduino-ide
在过去的千年中,9600 波特一直是某些设备的标准。
目前这个速度对于大多数情况来说已经足够了,所以他们坚持下去;许多设备默认使用 9600 波特。
我个人最常使用串行进行调试。在 9600 波特下,它每秒可以打印超过 10 行,这超出了我的阅读能力。
但是您可以记住,缓冲区限制为 64 个字符,当它已满时,arduino 将阻塞 serial.write 指令,直到缓冲区中有足够的空间。这就是为什么您会遇到波特率缓慢的情况。
另一方面,您将在硬件串行上以 0.5M 的速度为 MCU 增加负担。使用软件序列,您可能会更快看到效果。
我个人对使用 CH340 USB/Serial 的中文 nano 有一些问题;使用 pyserial 与 arduino 的 python 通信在超过 9600 波特的速度下是不可靠的。
【讨论】:
许多设备使用 9600 或 19200 波特,我猜人们只是复制值而不考虑它们,因此即使不再需要也继续练习。
也就是说,maximum length of a serial cable 取决于您选择的波特率。更高的波特率需要更短的电缆。因此,如果您不需要更高的费率,只需保持较低的费率,例如 9600。
【讨论】: