GNU/Linux >> Belajar Linux >  >> Linux

Bagaimana kucing mengetahui baud rate dari port serial?

stty kumpulan utilitas atau laporan tentang karakteristik I/O terminal untuk perangkat yang merupakan input standarnya. Karakteristik ini digunakan saat membuat sambungan melalui media tertentu. cat tidak mengetahui baud rate seperti itu, melainkan mencetak pada layar informasi yang diterima dari koneksi tertentu.

Sebagai contoh stty -F /dev/ttyACM0 memberikan baud rate saat ini untuk perangkat ttyACM0.


cat hanya menggunakan pengaturan apa pun yang sudah dikonfigurasikan untuk port tersebut. Dengan cuplikan C kecil ini, Anda dapat melihat baud rate yang saat ini disetel untuk port serial tertentu:

dapatkan-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;
}

Jalankan:

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

Angka yang Anda dapatkan dapat dicari di /usr/include/asm-generic/termios.h , di mana ada #define seperti B9600 dll. Perhatikan bahwa angka di file header dan di get-baud-rate output dalam oktal.

Mungkin Anda dapat bereksperimen dan melihat seperti apa angka-angka ini pada boot baru dan apakah akan berubah nanti.


Linux
  1. Bagaimana cara mengetahui arti 'errno'?

  2. Bagaimana cara kerja cat << EOF di bash?

  3. Bagaimana cara kerja perintah ps?

  1. Bagaimana Cara Kerja Sticky Bit?

  2. Bagaimana cara kerja antarmuka loopback

  3. Bagaimana cara menentukan baud rate dari port serial?

  1. Bagaimana Memantau Koneksi Serial @ 250000 Baud?

  2. Bagaimana Menemukan Port Serial Yang Digunakan?

  3. Bagaimana Cara Kerja Perintah Tee??