答え1
シリアルポート速度は通常、ハードウェア自体によって処理され、ハードウェアドライバによって設定されます。
したがって、従うべきチェーンはを呼び出すTCSETS
ioctl呼び出しです。そのチェーンに従うと、RocketPortドライバはを呼び出します。 tty_set_termios()
tty_ioctl.c
rp_set_termios()
configure_r_port()
これは、RocketPortチップに送信された構成設定(除数設定など)のいくつかの計算を実行し、最終的にチップにバイトを出力する呼び出しsSetBaud
(定義済み)を実行します。rocket_int.h
したがって、コア自体は、伝送速度を決定するためにシリアルラインで「ビットタッピング」を実行しない。 UARTチップはすべての難しい作業を行います。チップをプログラミングするだけです。