我正在使用node-serialport包,我遇到了一组可以传递给SerialPort的构造函数的options。其中一个叫做dataBits。我在文档中唯一能找到的就是它可以取值为5、6、7或8(默认值)。这是什么意思?
此外,更普遍的是,我发现这个包的文档缺少许多重要的细节。有没有人知道有什么很棒的教程资源可能更有帮助?
发布于 2020-08-12 11:15:35
除非需要,否则通常可以忽略此选项。默认值是最常见的。
linux documentaiton project有一个关于串口的概述,其中有这个摘录。
在通过RS-232端口进行的字节串行传输中,始终首先发送低阶位(位顺序)。PC上的串行端口使用异步通信,其中有一个起始位和一个停止位来标记字节的开始和结束。这称为成帧,而已成帧的字节有时称为帧。结果,每个字节总共发送9、10或11位,其中10位是最常见的。8-N-1表示8个数据位,无奇偶校验,1个停止位。当对起始位进行计数时,总计为10位。一个停止位几乎是普遍使用的。
我强烈推荐他们概述串行端口是如何工作的。Node SerialPort's website更多地介绍了如何使用节点SerialPort。
但是,我将总结它,因为它可能是有用的。
虽然现代设备期望大多数字节具有8位,但较旧的设备通常一次只能处理7位(或6位或5位)。它们反过来期望串行传输的“包”仅包括这些位数。第一个Microsoft serial mouse就是一个很好的例子。它的硬件,串行鼠标协议和它的驱动程序只需要7位的数据包。在串行端口的术语中,这应该是7 dataBits。因此,操作系统将生成一个"7位字节“,并将其传递回应用程序,而不是等待8位。如果你没有这个设置,它会等待下一个包中的第8位,没有任何东西看起来是正确的。
https://stackoverflow.com/questions/60909758
复制相似问题