如何在 Mac OS 上查找用于串行读取的 USB 设备的 /dev/ 名称?

Posted

技术标签:

【中文标题】如何在 Mac OS 上查找用于串行读取的 USB 设备的 /dev/ 名称?【英文标题】:How to find /dev/ name of USB Device for Serial Reading on Mac OS? 【发布时间】:2018-06-25 18:12:54 【问题描述】:

我正在尝试将设备插入我的 Macbook 并连接到它以读取它的串行端口。我知道设备以 115200 的波特率连接。

目前,我运行命令

ioreg -p IOUSB -l -b | grep -E "@|PortNum|USB Serial Number"

我可以看到插入的嵌入式设备

+-o Root Hub Simulation Simulation@14000000
| +-o iBridge@14200000
| |     "PortNum" = 2
| +-o USB2.0 Hub@14100000
|   |   "PortNum" = 1
|   +-o 4-Port USB 2.0 Hub@14120000 
|   | |   "PortNum" = 2
|   | +-o MBED CMSIS-DAP@14122000
|   |       "PortNum" = 2
|   |       "USB Serial Number" = "024002267822ce0a00000000000000000000000085fb33b2"
|   +-o USB Keyboard           @14110000 
|         "PortNum" = 1
|         "USB Serial Number" = "0000000000000001"

注意:有一个标签靠近

<class AppleUSBDevice, id 0x100014343, registered, matched, active, busy 0 (363 ms), retain 33>

在上面每个设备的名称旁边,但我出于格式问题删除了它们(因为我认为它们与问题无关)。如果是,那是我的嵌入式设备的标签)。

问题

如何在 /dev/ 中找到 MBED 设备的关联?

我试图在 /dev/ 目录中找到设备MBED CMSIS-DAP@14122000,以便读取它的串行输出。这就是我迷路的地方。

最终目标是我可以使用screenputty 或类似的东西:

screen /dev/ttyTHIS_MBED_DEVICE 115200

【问题讨论】:

【参考方案1】:

所以,我真的找到了答案。

为了找出设备名称是什么,我在插入设备然后断开连接的情况下创建了/dev/ 目录的ls

ls -lha /dev/tty* > plugged.txt
ls -lha /dev/tty* > np.txt

然后我使用

比较文件
vimdiff plugged.txt np.txt

看到了线

crw-rw-rw- 1 root wheel 19, 30 Jan 16 15:24 /dev/tty.usbmodem145222

果然,设备名为tty.usbmodem145222

【讨论】:

对!不要忘记在你的 ls 中使用 -a 请帮帮我,它给了我这个输出:+ +--133 lines: crw-rw-rw- 1 root wheel 2, 0 Feb 19 21:43 /dev/tty---------------------|+ +--133 lines: crw-rw-rw- 1 root wheel 2, 0 Feb 19 21:43 /dev/tty--------------------【参考方案2】:

请尝试

ls /dev/tty* | grep usb

【讨论】:

以上是关于如何在 Mac OS 上查找用于串行读取的 USB 设备的 /dev/ 名称?的主要内容,如果未能解决你的问题,请参考以下文章

串行 Mac OS X 不断冻结/锁定/消失 USB 到 Arduino

在 USB 端口上读取串行通信时接收空数据 - Raspberry Pi 3 型号 B+

text 在Mac OS / X上创建Linux Mint USB

如何在 Mac OS X 10.6 的 Finder 中禁用“USB Over Current Notification”弹出窗口?

无法在 Mac OS X 上使用 C + libusb 声明 USB 接口

在 Ubuntu 上使用 USB 到串行转换器进行串行通信