USB转串口型设备在通讯时默认有16ms延时,这在控制任务中往往是不能接受的,为了改善这个情况需要改变latency的值为最小值1。
在Windows环境下,可以如下操作:
![](https://img-blog.csdnimg.cn/20190225125247326.jpg?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3NpbmF0XzM3OTM5MDk4,size_16,color_FFFFFF,t_70)
右键属性-端口设置-高级-延迟计时器(毫秒)设置为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
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)