我以前曾使用 Arduino 通过串行方式对其他设备进行编程,方法是将 Arduino 连接到我的计算机、接地 RES 并连接每个设备上的 TX 和 RX 引脚。这使我能够绕过 ATmega328 芯片,并将数据直接发送到连接到 Arduino 的设备。
今天,我决定通过两个相互连接的 Arduino 使用串行控制台在无头 Raspberry Pi 上安装 Ubuntu Server。在开始安装系统之前,我决定在笔记本电脑上尝试这个想法 - 我将两者的 RES 引脚接地,将它们的接地、TX 和 RX 引脚相互连接(RX 到 TX 反之亦然),并将两者插入单独的 USB 端口(不涉及集线器,无论是内部还是外部)。然后我在单独的终端上为两个设备启动 picocom:
sudo picocom -b 38400 /dev/ttyUSB0
sudo picocom -b 38400 /dev/ttyUSB1
并尝试从一个设备向另一个设备发送消息,但是尽管传输设备上的 TX LED 和接收设备上的 RX 闪烁,但 picocom 中没有显示任何数据。
我运行dmesg | grep tty
确认设备已连接,并且如预期的那样,我得到了以下输出:
[15085.910703] usb 1-1.2: ch341-uart converter now attached to ttyUSB0
[15086.258910] usb 1-1.3: ch341-uart converter now attached to ttyUSB1
没有错误信息。
这也不是 picocom 的问题,因为我已经尝试过 minicom 和 screen 以及echo <message> | sudo tee /dev/ttyUSB0
,但都无济于事。
我是不是漏掉了什么? 有可能做到这一点吗?
编辑:我尝试移除第二个 Arduino,使用如下电路:
但是,和以前一样,RX 和 TX 灯闪烁,但串行监视器上什么也没有显示