Java中串行端口参数的含义?

Java中串行端口参数的含义?,java,serial-port,core,Java,Serial Port,Core,我是Java的初学者。我正在从串行端口读取数据。我得到 serialPort.setSerialPortParams( 9600, SerialPort.DATABITS_8, SerialPort.STOPBITS_1, SerialPort.PARITY_NONE); 9600、DATABITS\u 8、stoppits\u 1和奇偶校验\u NONE的含义是什么?当您说“获得serialPort.setSerialPortParams(..)时,您从哪里获得它的?如果您想

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

serialPort.setSerialPortParams(
   9600, SerialPort.DATABITS_8, SerialPort.STOPBITS_1, 
   SerialPort.PARITY_NONE); 
9600
DATABITS\u 8、stoppits\u 1
奇偶校验\u NONE
的含义是什么?

当您说“获得serialPort.setSerialPortParams(..)时,您从哪里获得它的?如果您想了解该方法的参数,请参阅

9600、数据位8、停止位1和 奇偶校验

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

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

S_1:添加一个尾随位以标记单词的结尾

奇偶校验\u NONE:不包括位。这是一种错误检查功能。对于偶数奇偶校验,如果它将使位之和为偶数,则会添加1,对于奇数奇偶校验,反之亦然。有时也会使用标记奇偶校验和空间奇偶校验。RS-232是一种低级协议,错误检查通常留给应用层。a或通常是i由于这个原因,以太网包含串行数据包。例如,以太网使用32位CRC作为其数据帧,但它从不涉及应用程序开发人员

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


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

如果您不熟悉串行端口,只需阅读欢迎使用堆栈溢出!虽然这在理论上可以回答问题,但在此处包含答案的基本部分,以及提供链接以供参考。