我正在尝试为我刚开始的新工作挑选一些串行通信。我已经完成了一些有用的阅读,但很多阅读都会告诉你有关串行通信的规范以及一切是什么,但不是什么时候最好使用特定的选项。
到目前为止,我对这些信息的搜索似乎只是引入了规范;也许作为一个新手,我正在寻找错误的条款。
然后我的问题!
波特率 - 我已经读过这是每秒的信号变化,并且经常被错误标记为每秒位数。这是否实质上是每秒位数,包括异步时的帧数据,如果是同步的话,实际上是每秒位数?
奇偶 - 偶数/奇数..这两者之间有什么不同吗?我在效率或类似方面进行思考。为了兼容性,这只是存在吗?
停止比特 - 到目前为止我已经读过你可以有1或2个停止位。在C#中似乎也有1.5的选项。我无法找到你想要/需要超过1的原因。
如果有人可以就这些问题提出建议,或者指出一些推荐的阅读材料,我将非常感激。
感谢阅读。
编辑:拼写错误
答案 0 :(得分:2)
您很少有选择,必须使其与设备使用的设置兼容。如果您不知道,那么您需要查看手册或拿起电话。请记住,与使用UART的真实串行端口设备一起工作的情况越来越少。最常见的是,您实际上是通过USB或蓝牙设备驱动程序实现的模拟串行端口进行通信。您使用的设置在这种情况下并不重要,因为实际信令是由底层总线实现的。
如果您可以配置设备,则基本准则为:
通过实施可靠的错误检查,赢得了90%的好战。这几乎总是吝啬,不好主意。对于串行端口设备非常重要,因为它们本身没有纠错功能,而且检测错误很弱。始终确保您可以检测并正确报告溢出,奇偶校验和帧错误。并通过故意错误设置来测试它们。