9

ここでの私の計算が正しいかどうか疑問に思っています。ボーレートが 9600 の場合、毎秒 9600 ビットが送信されるということですよね? その場合、次のようになります。

9600 bit/sec <=> 1000 ms/ 9600 bit = 0.1042 ms/bit

したがって、32KB の送信には次の時間が必要です。

32,000*(8+2) bits = 320,000 bits -- (8+2) because 8 data bits + 1 start bit + 1 stop bit
320,000 bits*0.1042 ms/bit = 33344 ms = 33.344 sec

あれは正しいですか?

4

2 に答える 2

13

確かに、ビット幅の近似値を乗算することで精度が失われているため、時間を小数点以下 3 桁まで指定することは正しくありません。

精度の低下を避けるために、丸められた中間式を使用しないでください。

bytes x bits_per_character / bits_per_second

だからあなたの場合:

32000 x 10 / 9600 = 33.333(recurring) seconds.

ただし、伝統的に 32Kb は 32 x 1024 バイトを指すため、その場合は次のようになります。

32 x 1024 x 10 / 9600 = 34.1333(recurring) seconds.
于 2012-09-29T08:08:40.617 に答える
8

大きさを大まかに確認する必要がある場合 (3 秒か 30 か 300 か)、9600 kbps ~ 1KB/秒 (2 つの余分なパリティ/ストップ ビットがある場合は 10 ビット) であることを覚えておいてください。つまり、32KB -> 約 32 秒です。

于 2012-09-28T22:54:50.020 に答える