1.将串口设备插入USB口,通过lsusb查看端口信息。例如:

Ubuntu usb设备端口号绑定

ID 1a86:7523 表示usb设备的ID(这个ID由芯片制造商设置,可以唯一表示该设备)

1a86 usb_device_descriptor.idVendor
7523 usb_device_descriptor.idProduct

2.在/etc/udev/rules.d/下创建任意名称的规则配置文件,如:usb.rules。

KERNEL=="ttyUSB*", ATTRS{idVendor}=="067b", ATTRS{idProduct}=="2303", MODE:="0666", SYMLINK+="user_uart"
KERNEL=="ttyUSB*", ATTRS{idVendor}=="1a86", ATTRS{idProduct}=="7523", MODE:="0666", SYMLINK+="mcu_uart"

意思就是匹配sys中内核名为ttyUSB*的设备,属性匹配依据生产商编号idVendor和产品号idProduct, 设定读写权限为0777, 符号链接名为user_uart-----PL2303串口转USB, mcu_uart----CH340串口转USB。

idVendor和idProduct由 lsusb  -vvv 命令查看。

sudo udevadm control --reload-rules
sudo udevadm trigger

重新拔插两个串口设备

ls -l /dev |grep ttyUSB

Ubuntu usb设备端口号绑定

 

 

 就可以看到/dev/user_uart指向/dev/ttyUSB0,  /dev/mcu_uart指向/dev/ttyUSB1. 这样以来,我只要在程序里打开/dev/user_uart或/dev/mcu_uart就可以一直准确的打开指定的串口设备了。

二、绑定硬件***,查找serial(适用于相同生产商生产的相同USB串口)

插入需要绑定的串口,或者 lsusb 查看需要绑定的串口名

1.udevadm info --attribute-walk --name=/dev/ttyUSB0

Ubuntu usb设备端口号绑定

 

 

 我的硬件***:ATTRS{serial}=="FTSYWCXZ"这个号是唯一的

2.vim /etc/udev/rules.d/usb.rules

ATTRS{serial}=="FTSYWCXZ", MODE:="0777", GROUP:="dialout", SYMLINK+="usb_0"

3.ls -l /dev |grep ttyUSB
Ubuntu usb设备端口号绑定

 

 

 4.可以通过/dev/usb_0打开串口设备

fangfa3

 

KERNELS=="1-2.4:1.0",MODE:="0777", GROUP:="dialout", SYMLINK+="my_slaver"
KERNELS=="1-2.2:1.0",MODE:="0777", GROUP:="dialout", SYMLINK+="my_uwb"
KERNELS=="1-2.3:1.0",MODE:="0777", GROUP:="dialout", SYMLINK+="my_imu"

 


参考链接:https://blog.csdn.net/qq_35386301/article/details/84566214

相关文章:

  • 2022-12-23
  • 2021-10-28
  • 2021-11-22
  • 2022-12-23
  • 2022-12-23
  • 2021-06-28
  • 2022-12-23
  • 2021-09-12
猜你喜欢
  • 2022-12-23
  • 2021-09-13
  • 2022-01-04
  • 2022-12-23
  • 2022-12-23
  • 2021-11-29
  • 2022-12-23
相关资源
相似解决方案