java - Java中串口参数的含义?

标签 java serial-port core

我是 Java 的初学者。我正在从串行端口读取数据。我得到了

serialPort.setSerialPortParams(
   9600, SerialPort.DATABITS_8, SerialPort.STOPBITS_1, 
   SerialPort.PARITY_NONE); 

9600DATABITS_8、STOPBITS_1PARITY_NONE 是什么意思?

最佳答案

9600, DATABITS_8,STOPBITS_1 and PARITY_NONE

9600 BAUD :波特是符号或每秒脉冲数的同义词。在这种情况下,它指的是每秒传输的位数。

DATABITS _8:一次传输8位数据。这是典型的,因为现在大多数机器都有 8 位字节。

STOPBIT S_1:尾部加一个bit,表示单词结束。

PARITY_NONE:否parity包括位。这是一个错误检查功能。对于偶校验,如果它会使位的总和为偶数,则添加 1,对于奇校验,反之亦然。有时也使用标记和空间奇偶校验。 RS-232 是一种低级协议(protocol),错误检查通常留给应用层。 checksumCRC由于这个原因,通常包含在串行数据包中。例如,以太网对其数据帧使用 32 位 CRC,但应用程序开发人员从不关心它。

在 RS-232 通信中,始终包含一个起始位。 universal asynchronous receiver/transmitter (UART) -- 这个 Java 库将控制的硬件 -- 查找这个标记,然后开始将数据位移入缓冲区。因此,传输中的每个字将占用 10 位:1 位起始位 + 8 位数据位 + 1 位停止位。在 9600 波特率下,这将为您提供每秒 960 字节的最大数据传输速率,即使将发送相当于 1200 字节的数据:每秒 9600 位除以每个字 10 位得出每秒 960 字和 8 个数据位( 1 字节)每个字。

您正在使用的此配置通常会缩写为 9600,8,N,1,依次表示速度、数据位、奇偶校验位和停止位

关于java - Java中串口参数的含义?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/391127/

相关文章:

linux - gdb 奇怪的回溯,没有函数名,只有?

java - 固定 ImageButton 在 GestureImageView 上的位置

java - 数据源打开连接过多

java - 从生产者到消费者的可靠文件移交

linux - 嵌入式linux,如何一键切换串口使用?

c# - 阅读 msix 包 appxmanifest 版本

java - 在java中我对何时公开一个类感到困惑

c# - 最快的多线程解析串口数据的方法C#

c++ - "Writefile"for RS232 communication using MFC hangs forever, but

java - 为什么最小化、还原可以在不为框架实现任何方法的情况下工作?