GNU/Linux >> Linux の 問題 >  >> Linux

cat はどうやってシリアルポートのボーレートを知るのですか?

stty ユーティリティは、標準入力であるデバイスの端末 I/O 特性を設定または報告します。これらの特性は、その特定のメディアを介して接続を確立するときに使用されます。 cat ボーレート自体はわかりませんが、特定の接続から受け取った情報を画面に表示します。

例として stty -F /dev/ttyACM0 ttyACM0 デバイスの現在のボーレートを示します。


cat ポートがすでに構成されている設定を使用するだけです。この小さな C スニペットを使用すると、特定のシリアル ポートに現在設定されているボー レートを確認できます。

get-baud-rate.c

#include <termios.h>
#include <unistd.h>
#include <stdio.h>

int main() {
  struct termios tios;
  tcgetattr(0, &tios);
  speed_t ispeed = cfgetispeed(&tios);
  speed_t ospeed = cfgetospeed(&tios);
  printf("baud rate in: 0%o\n", ispeed);
  printf("baud rate out: 0%o\n", ospeed);
  return 0;
}

実行:

./get-baud-rate < /dev/ttyS0 # or whatever your serial port is

取得した数字は /usr/include/asm-generic/termios.h で調べることができます 、 #define がある場所 B9600 など ヘッダー ファイルと get-baud-rate の数字に注意してください。 出力は 8 進数です。

試してみて、新しいブートでこれらの数値がどのようになるか、後で変化するかどうかを確認してください。


Linux
  1. スティッキービットはどのように機能しますか?

  2. Linux – Linuxカーネルはどのようにしてデバイスのメジャー番号とマイナー番号を認識しますか?

  3. Bashは、どのように呼び出されているかをどのように知っていますか?

  1. 250000ボーでシリアル接続を監視する方法は?

  2. 使用されているシリアルポートを見つける方法は?

  3. Xdg-openコマンドは、ファイルを開くために使用するアプリケーションをどのように認識しますか?

  1. ティーコマンドはどのように機能しますか?

  2. Linux –シリアルポートを使用してプロセスを見つける方法は?

  3. cat << EOFはbashでどのように機能しますか?