USB转串口型设备在通讯时默认有16ms延时,这在控制任务中往往是不能接受的,为了改善这个情况需要改变latency的值为最小值1。

在Windows环境下,可以如下操作:

右键属性-端口设置-高级-延迟计时器(毫秒)设置为1

在Linux环境下,可以如下操作:

sudo usermod -aG dialout $USER && echo 1 | sudo tee /sys/bus/usb-serial/devices/ttyUSB0/latency_timer

可以通过

cat /sys/bus/usb-serial/devices/ttyUSB0/latency_timer

来查看,如果是1则修改成功

以上的方法是暂时修改,如果需要永久修改需要添加rules,具体可以参考我的github:

https://github.com/bishopAL/GeRo_V1

这里我直接贴readme了:

On the other way, you may change it permenantly by doing this:

sudo nano /etc/udev/rules.d/latency-usb.rules

Add these codes:

ACTION=="add", SUBSYSTEM=="usb-serial", DRIVER=="ftdi_sio", ATTR{latency_timer}="1" 

Save. Finally:

sudo udevadm control --reload-rules

sudo udevadm trigger --action=add

You may check the result like:

cat /sys/bus/usb-serial/devices/ttyUSB0/latency_timer
Logo

更多推荐