我是Java的初学者.我正在从串口读取数据.我有
serialPort.setSerialPortParams( 9600, SerialPort.DATABITS_8, SerialPort.STOPBITS_1, SerialPort.PARITY_NONE);
是什么意思9600
,DATABITS_8,STOPBITS_1
和PARITY_NONE
?
9600,DATABITS_8,STOPBITS_1和PARITY_NONE
9600 BAUD:波特是每秒符号或脉冲的同义词.在这种情况下,它指的是每秒传输的位数.
数据包 _8:一次传输8位数据.这是典型的,因为现在大多数机器都有8位字节.
STOPBIT S_1:添加一个尾随位以标记单词的结尾.
PARITY_NONE:不包括奇偶校验位.这是一个错误检查功能.对于偶校验,如果对于奇校验,它将使比特的总和为偶数,反之亦然.有时也使用标记和空间奇偶校验.RS-232是一种低级协议,错误检查通常留给应用层.一个校验或CRC通常包含基于这个原因串行数据包.例如,以太网对其数据帧使用32位CRC,但它从不涉及应用程序开发人员.
在RS-232通信中,始终包括起始位.甲通用异步接收机/发射机(UART) -该Java库将控制硬件-查找此标记,然后开始该数据比特移位到缓冲区中.因此,传输中的每个字将占用10位:1个起始位+ 8个数据位+ 1个停止位.在9600 BAUD,这将为您提供每秒960字节的最大数据传输速率,即使相当于1200字节将被发送:每秒9600位除以每字10位,每秒产生960字8位数据(每个字1个字节).
对于速度,数据位,奇偶校验和停止位,您正在使用的此配置通常缩写为9600,8,N,1.