我正在努力为我开始的新工作挑选一些串行通话。我已经完成了一些帮助,这有很多读数,但很多阅读告诉你串行通信的规范以及一切都是什么,但不是最好使用特定选项。

到目前为止,我的搜索只似乎只拉在规格;也许是我正在寻找错误的术语。

我的问题!

波特率 - 我已读取这是每秒的信号变化,并且通常误标记为每秒的比特。这是否基本上是每秒位数,包括帧数据,如果异步,实际上是每秒如果同步?

奇偶校验 - 偶数/奇数..两者之间的所有区别有什么不同吗?我在效率或类似的思考。这是否仅适用于兼容性缘故?

stop bits - 我已经读过了到目前为止,你可以有1或2个停止位。在C#中也有1.5的选项。我找不到为什么你想要/需要超过1的任何东西。

如果有人可以建议这些点,或者将我指向一些推荐的阅读材料,我将非常感激。

谢谢阅读。

编辑:拼写错误

有帮助吗?

解决方案

您很少有选择,您必须与设备使用的设置兼容。如果你不知道那么你需要看手动或拿起手机。请记住,使用一个使用UART的真实串行端口设备,使用一个人越来越罕见。最常见的是,您实际上与USB或蓝牙设备驱动程序实现的模拟串行端口。由于实际信令由底层总线实现,因此在这种情况下使用的设置无关紧要。

如果您可以配置设备,则基本指南是:

  • Baudrate与电缆的长度和存在的电气干扰量直接相关。当你有点错误时,你必须慢得多。 RS-232规格仅允许在9600波特最多50英尺。
  • 奇偶校验应该在不使用错误校正协议时使用。无论你挑选奇数,还是偶数,都没关系。奇怪的人挑选奇怪,这是他们的特权。
  • stopbits通常1.拾取1.5或2帮助一点以缓解由数据丢失检测到的中断响应时间较差的设备的压力。
  • 数据项几乎总是8,有时7如果设备只处理ASCII代码。
  • 握手是一个重要的设置,从未停止引起麻烦,因为许多程序员只是忽略它。现代计算机几乎总是足够快,不需要它,但这对设备不一定是真的。当您打开端口时,最基本的留声配置是打开DTR,并告诉设备驱动程序处理RTS / CTS握手。有时使用XON / XOFF握手,取决于设备。

通过实施实体错误检查,赢得了90%的战斗。它几乎总是撇去,坏主意。对于串行端口设备非常重要,因为它们没有纠错功能本身和非常弱的错误检测。始终确保您可以检测和正确地报告溢出,奇偶校验和框架错误。并通过故意错误地进行设置来测试它们。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top