私はJavaの初心者です。シリアルポートからデータを読み取っています。私は得た
serialPort.setSerialPortParams(
9600, SerialPort.DATABITS_8, SerialPort.STOPBITS_1,
SerialPort.PARITY_NONE);
9600
、DATABITS_8,STOPBITS_1
およびの意味は何PARITY_NONE
ですか?
私は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ボー:ボーは1秒あたりの記号またはパルスと同義です。この場合、1秒あたりに転送されるビット数を指します。
DATABITS _8:一度に8ビットのデータが転送されます。最近のほとんどのマシンには8ビットバイトがあるため、これは一般的です。
STOPBIT S_1:単語の終わりを示すために1つの末尾ビットが追加されます。
PARITY_NONE:パリティビットは含まれていません。これはエラーチェック機能です。偶数パリティの場合、ビットの合計が偶数になる場合は1が追加され、奇数パリティの場合はその逆になります。マークとスペースのパリティも使用されることがあります。RS-232は低レベルのプロトコルであり、エラーチェックは多くの場合アプリケーション層に任されています。このため、チェックサムまたはCRCがシリアルデータのパケットに含まれることがよくあります。たとえば、イーサネットはデータフレームに32ビットCRCを使用しますが、アプリケーション開発者には関係ありません。
RS-232通信では、スタートビットが常に含まれています。ユニバーサル非同期レシーバ/トランスミッタ(UART)(このJavaライブラリが制御するハードウェア)は、このマーカーを探してから、データビットをバッファにシフトし始めます。したがって、転送の各ワードには10ビットが必要です。1つのスタートビット+8つのデータビット+1つのストップビットです。9600ボーでは、1200バイトに相当するものが送信される場合でも、最大データ転送速度は960バイト/秒になります。9600ビット/秒を10ビット/ワードで割ると、8データビットで960ワード/秒になります(ワードあたり1バイト)。
使用しているこの構成は、速度、データビット、パリティ、ストップビットの順で9600,8、N、1と略されます。
「serialPort.setSerialPortParams(....) を取得した」と言うと、どこで取得したのでしょうか? メソッドへのパラメーターを理解したい場合は、javadocを参照してください。
シリアル ポートに慣れていない場合は、http://www.beyondlogic.org/serial/serial.htmを参照してください。