一尘不染

在Linux中更改USB虚拟串行端口的默认名称

linux

我正在使用C开发嵌入式解决方案,并且正在使用两个USB传感器。如果我单独连接每个传感器,它们将使用以下名称:

设备1 (我不知道为什么要使用6个名称…)

  • / dev / ttyACM0
  • / dev / ttyACM1
  • / dev / ttyACM2
  • / dev / ttyACM3
  • / dev / ttyACM4
  • / dev / ttyACM5
  • / dev / ttyACM6

设备2

  • / dev / ttyACM0

因此,当我从嵌入式系统开始并且两个传感器都已连接时,最快的是/ dev / ACM0,但并不总是相同。因此,当我尝试读取设备2时,我可能正在读取设备1

我认为最好更改传感器的默认名称。我想这将是可能的,但我什么也没找到。


阅读 780

收藏
2020-06-07

共1个答案

一尘不染

您应该尝试改用名称/dev/serial/by-id,因为这些名称包括设备的名称,并且不取决于连接顺序。

顺便说一句,还可以编写udev规则,这些规则根据串行端口所属的设备为串行端口建立符号链接。我不确定这对于具有6个串行端口的复合设备如何工作,但是可能有一种使其工作的方法。

2020-06-07