GNU/Linux >> Belajar Linux >  >> Linux

Bagaimana saya tahu jika port serial benar-benar mengirimkan data, tanpa membuka perangkat?

RS232 tidak memiliki indikator "keberadaan kabel" apa pun. Anda baru saja mendapatkan sinyal transmisi atau metadata (kontrol), atau tidak - hanya itu yang Anda ketahui. Jika Anda menerima sinyal masuk (CTS|DSR|CD) Anda tahu kabel terhubung. Jika Anda tidak menerima sinyal masuk, status kabel tidak dapat ditentukan dan tidak ada cara untuk menentukan apakah kabel tersambung tanpa solusi perangkat keras tambahan - atau melakukan semacam pertukaran dengan perangkat jarak jauh.

Pendekatan yang biasa dilakukan adalah melakukan semacam transmisi "keep-alive" (bahkan hanya metadata - misalnya mengatur DTR untuk sementara dan mengharapkan CTS) tetapi jika disiplin protokol yang digunakan oleh perangkat lunak di kedua ujung kabel melarang pertukaran menganggur seperti itu, Anda ' Anda cukup terjebak dengan menggunakan besi solder untuk melanjutkan.

Apa yang mungkin Anda coba, adalah semacam "setan" tambahan yang menyiapkan pipa, meneruskan data antara perangkat lunak Anda dan perangkat fisik (di kedua ujungnya), merangkumnya - dan melakukan "pemeriksaan koneksi" jika pipa tidak digunakan.

Izinkan saya menambahkan satu solusi yang agak umum:jika perangkat titik akhir Anda tidak menggunakan kontrol perangkat keras, Anda dapat menyingkat DTR dengan CTS di dalam colokan di sisi host dan menggunakan 'kontrol perangkat keras' di sisi host. Membangkitkan DTR secara otomatis menggerakkan CTS, mengaktifkan transmisi, jika ada kabel, sehingga transmisi tidak terpengaruh. Sementara itu, dengan absennya kabel, sistem akan bereaksi terhadap kekurangan CTS dengan cara yang sesuai dengan peristiwa ini, mis. menghasilkan batas waktu atau menangguhkan transmisi hingga kabel terpasang.


Linux
  1. Bagaimana cara mengetahui arti 'errno'?

  2. Bagaimana saya bisa memantau data pada port serial di Linux?

  3. Bagaimana menemukan semua perangkat serial (ttyS, ttyUSB, ..) di Linux tanpa membukanya?

  1. Bagaimana cara membuka port serial di linux tanpa mengubah pin?

  2. Bagaimana cara mengatur bit paritas saat menggunakan layar untuk mengakses port serial

  3. Baca/Tulis ke Port Serial Tanpa Root?

  1. Bagaimana cara berbagi koneksi internet?

  2. Bagaimana kucing mengetahui baud rate dari port serial?

  3. Bagaimana cara menentukan baud rate dari port serial?