我连接了一个1.3 英寸 SH1106 OLED通过 I2C 引脚连接到 i2c-to-usb 适配器(UMFT201XB来自 FTDI) 并且在我的 Linux Box (带有 Ubuntu 18.04 的 Z83 迷你电脑) 上我可以在 /dev/ttyUSB0 下看到该设备。
这是 dmesg 输出:
[16123.056915] usb 1-2: new full-speed USB device number 15 using xhci_hcd
[16123.212789] usb 1-2: New USB device found, idVendor=0403, idProduct=6015
[16123.212806] usb 1-2: New USB device strings: Mfr=1, Product=2, SerialNumber=3
[16123.212816] usb 1-2: Product: UMFT201XB
[16123.212825] usb 1-2: Manufacturer: FTDI
[16123.212834] usb 1-2: SerialNumber: FTWCN8T5
[16123.216185] ftdi_sio 1-2:1.0: FTDI USB Serial Device converter detected
[16123.216361] usb 1-2: Detected FT-X
[16123.216947] usb 1-2: FTDI USB Serial Device converter now attached to ttyUSB0
现在我想将文本/图形写入 OLED 屏幕,但我无法找到 i2c 设备i2cdetect -l
。插入 USB 后,我没有看到那里有额外的设备(也许根本就不应该有?)。
我luma.oled
在 Linux Box 上使用该库,但对于初始化,我需要 i2c 端口和 i2c 地址(在文档中的某处他们提到 0x22,但是什么端口?)。
如何找到 USB 适配器的端口,如果有的话。我对 i2c 和虚拟串行端口完全是菜鸟,所以也许我的方法完全错误。
答案1
来自电子 stackexchange 的用户justme
找到了我的问题的答案:
那是完全不适合该用途的芯片。它实际上是一个 I2C 转 USB 适配器,可通过 I2C 总线启用 USB。您需要的是 USB 转 I2C 适配器,可通过 USB 启用 I2C。FT201 不是用作 I2C 主控芯片来从 PC 控制从属 I2C 设备的芯片。对于 PC 来说,该芯片看起来像一个 USB 串行端口,是其他主控设备的 I2C 从属芯片。该芯片使 I2C 主控(如微控制器)能够与 PC 通信,否则微控制器没有 USB 连接。