Saat mengirim hanya beberapa bit data melalui kabel USB-Serial FTDI ke PC, Anda harus menunggu salah satu dari kondisi berikut ini terjadi sebelum Anda mendapatkan data menurut FTDI. AN232B-04, Aliran Latensi Data :
- Buffer penuh
- Salah satu jalur status RS232 telah berubah
- Karakter acara telah diaktifkan dan terdeteksi dalam aliran data yang masuk
- Waktu yang tidak terpisahkan dengan chip telah habis.
Saya ingin menggunakan opsi 3, mengaktifkan karakter acara dan juga mendefinisikannya. Bagaimana saya melakukannya di Windows 7? Saya tidak dapat menemukan dokumentasi di dalamnya. Saya tidak ingin harus menulis kode untuk melakukannya, saya hanya ingin tahu di mana di sistem operasi saya (Windows 7) saya bisa mengubah pengaturan ini.
Saya menyadari pertanyaan aslinya terkait dengan Windows, tetapi berikut adalah petunjuk untuk sistem operasi lain:
Mac OS-X
Untuk penghitung waktu latensi - Setelah menginstal driver, buat salinan cadangan dan edit file
/System/Library/Extensions/FTDIUSBSerialDriver.kext/Contents/Info.plist
. Temukan bagian untuk perangkat Anda, misDan tambahkan berikut ini setelah di atas
Saya menduga ini juga akan berfungsi untuk karakter acara, tapi saya tidak yakin yang benar
<key>
menggunakan.Linux
Kernel Linux yang datang dengan Ubuntu 14.04 (Linux 3.13.0-24-generic) telah menetapkan timer latensi ke 1ms secara default. Namun parameter tersedia untuk diubah melalui
sysfs
. Temukan perangkat Anda di bawah/sys/bus/usb-serial/devices
Anda dapat mengatur karakter acara dengan menggema nilai menjadi
event_char
. Nilainya adalah nilai ASCII dari karakter acara (misalnya 'A' adalah 65) ditambah 256 (ini menetapkan bit ke-9 ke 1 yang memungkinkan dukungan karakter acara) - jadi untuk 'A' nilainya 65 + 256 = 321:Untuk menggunakan 0x00 sebagai karakter acara, cukup berikan nilai 256, sementara untuk menonaktifkan karakter acara, berikan nilai 0.
Anda juga harus dapat memodifikasi timer latensi dengan cara ini. Lihat apa yang sudah diatur sekarang:
Sekarang nonaktifkan flag low_latency, jika tidak latensi akan selalu dipaksa ke 1:
Kemudian setel penghitung waktu latensi ke, mis., 4 ms
Tapi saya kira ini bukan masalah besar karena standarnya adalah minimum 1 ms.
sumber
cat /sys/bus/usb-serial/devices/ttyUSB0/latency_timer
akan kembali4
setelah perbaikan ini? Jika demikian, saya akan memperbarui baris terakhir.