Java中串口参数的含义?

时间:2008-12-24 09:49:48

标签: java serial-port core

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

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

9600DATABITS_8,STOPBITS_1PARITY_NONE的含义是什么?

3 个答案:

答案 0 :(得分:10)

  

9600,DATABITS_8,STOPBITS_1和   PARITY_NONE

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

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

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

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

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

对于速度,数据位,奇偶校验和停止位,您正在使用的此配置通常缩写为 9600,8,N,1 。< / p>

答案 1 :(得分:2)

当你说“得到serialPort.setSerialPortParams(....”,你在哪里得到它?如果你想了解方法的参数,请参阅the javadoc

答案 2 :(得分:0)

如果您不熟悉串口,请阅读http://www.beyondlogic.org/serial/serial.htm