zoukankan      html  css  js  c++  java
  • Ubuntu usb设备端口号绑定

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

    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

     就可以看到/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

     我的硬件序列号: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

     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

  • 相关阅读:
    冲刺一(5)
    冲刺一(4)
    冲刺一(3)
    构建之法阅读笔记之二
    冲刺一(2)
    冲刺一(1)
    第9周总结
    热词顶会分析
    第8周总结
    构建之法阅读笔记之一
  • 原文地址:https://www.cnblogs.com/long5683/p/11144420.html
Copyright © 2011-2022 走看看