当前位置:   article > 正文

[Ubuntu 18.04]ttyUSB0权限和latency time设置_自动设置ttyusb的权限

自动设置ttyusb的权限

1. 使用usb转串口设备时遇到权限问题

        一般如果只连接一个串口设备,则设备名称为ttyUSB0;短时间内拔插串口设备名称可能会改变例如ttyUSB1等;所以需要设置成开机就赋予权限。

解决方案如下:

在终端中输入  

sudo gedit /etc/udev/rules.d/70-ttyusb.rules

这一步操作是修改udev规则,在打开的文件中添加以下字段 将ttyUSB0-9都赋予权限

KERNEL==“ttyUSB[0-9]*”, MODE=“0666”

 重启系统即可生效,可以直接在程序中使用串口设备了。

2. 使用rosserial遇到的串口延时问题

        项目中的imu设备使用422转USB来连接PC,通过rosserial来接受100hz的高频数据。过程中发现串口实际的工作频率只有30hz,后来查找一些文章找到了原因。

解决方案如下:

查看当前系统的latency_time值,默认是16

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

使用以下命令可以修改latency_time值到1,修改以后重启串口使用程序即刻生效,但是重启电脑以后会恢复默认值

  1. sudo chmod 0666 /sys/bus/usb-serial/devices/ttyUSB0/latency_timer
  2. echo 1 > /sys/bus/usb-serial/devices/ttyUSB0/latency_timer

使其永久生效的方法还是修改udev的规则,同问题1操作

sudo gedit /etc/udev/rules.d/70-ttyusb.rules

加入以下语句 并保存,重启电脑可以使用上面的语句查看是否生效。 

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

参考了以下文章

Linux/ubuntu下ttyUSB0等串口永久权限设置_汉文修士的博客-CSDN博客_ttyusb0权限

latency_timer值对usb转串口设备的卡顿、延时性能的影响_BWBOT的博客-CSDN博客_latency timer

latency of usb serial bus in the case of ubuntu 16.04 · Issue #383 · ros-drivers/rosserial · GitHub

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/2023面试高手/article/detail/211266
推荐阅读
相关标签
  

闽ICP备14008679号