2010-07-16 106 views

回答

4

Linux的

使用udev改變latency_timer。

在Ubuntu上,爲您的設備在/etc/udev/rules.d中創建規則。例如​​

在該文件中創建一條規則以匹配您的設備並設置latency_timer。例如,對於我的設備,這是:

KERNEL=="ttyUSB[0-9]*", SUBSYSTEMS=="usb-serial", DRIVERS=="ftdi_sio", ATTR{device/latency_timer}="2" 

這會導致設備在決定不再有傳入數據進行緩衝之前等待較短的時間。在這種情況下,我的設備從等待16ms等待2ms。

例如,使用udevadm info -a -n /dev/ttyUSB0來找出在規則中匹配哪些鍵值對。有一些棘手的事情需要記住,但一旦我知道使用udev規則,尋找資源來幫助進行這些操作就很容易了。

這是一個關於writing udev rules的很好的參考頁面。它是舊的,udev工具的語法已經改變,但這些概念仍然有效。

的Windows

在Windows上使用Device Manager->Ports->COM Port->Port Settings->Advanced->Latency Timer

+0

對不起殭屍回覆,但爲什麼修改COM端口設置對緩衝USB讀取操作有任何影響? – Dennis 2016-06-24 08:45:51