首页 > 解决方案 > 节点串行端口串行端口构造函数中的 dataBits 选项有什么作用?

问题描述

我正在使用 node-serialport 包,并且遇到了可传递给 SerialPort 构造函数的一组选项。其中之一称为dataBits。我在文档中唯一能找到的是它可以采用值 5、6、7 或 8(默认值)。这是什么意思?

此外,更一般地说,我发现这个包的文档缺少许多重要的细节。有谁知道任何可能更有帮助的优秀教程资源?

标签: node-serialport

解决方案


您通常可以忽略此选项,除非您需要它。默认是最常见的。

linux 文档项目对带有此摘录的串行端口进行了概述。

在通过 RS-232 端口串行传输字节时,总是先发送低位(位序)。PC 上的串行端口使用异步通信,其中有一个开始位和一个停止位来标记一个字节的开始和结束。这称为成帧,成帧的字节有时称为帧。因此,每个字节总共发送 9、10 或 11 位,其中 10 位是最常见的。8-N-1 表示 8 个数据位,无奇偶校验,1 个停止位。当一个计数起始位时,这总共增加了 10 位。一位停止位几乎被普遍使用。

我强烈推荐他们来了解串行端口的功能。Node SerialPort 的网站更多关于如何使用 node SerialPort。

不过我会总结一下,因为它可能有用。

虽然现代设备期望大多数字节具有 8 位,但旧设备通常一次只能处理 7(或 6 或 5)位。他们反过来会期望串行传输的“数据包”仅包含这些位数。一个很好的例子是第一款Microsoft 串行鼠标。它的硬件、串行鼠标协议和它的驱动程序只需要 7 位数据包。这将是dataBits串行端口术语中的 7。因此,操作系统不会等待第 8 位,而是会创建一个“7 位字节”并将其传递回应用程序。如果您没有此设置,它将等待第 8 位,该位将成为下一个数据包的一部分,并且看起来不会正确。


推荐阅读