5

私はJavaの初心者です。シリアルポートからデータを読み取っています。私は得た

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

9600DATABITS_8,STOPBITS_1およびの意味は何PARITY_NONEですか?

4

3 に答える 3

10

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と略されます。

于 2008-12-24T16:19:49.780 に答える
2

「serialPort.setSerialPortParams(....) を取得した」と言うと、どこで取得したのでしょうか? メソッドへのパラメーターを理解したい場合は、javadocを参照してください。

于 2008-12-24T10:02:07.343 に答える
0

シリアル ポートに慣れていない場合は、http://www.beyondlogic.org/serial/serial.htmを参照してください。

于 2011-09-23T12:53:32.800 に答える