终端无法在 Arduino DUE 上使用 USBSerial。端口没问题

Terminals are not working with USBSerial on an Arduino DUE. Ports are ok

我在 Arduino DUE 上安装了来自另一个 mac 的固件,它旨在与基于 Matlab 的应用程序交互。它已经过测试并且已知可以工作。我正试图从我办公室的 mac 修改固件,但在安装 Arduino IDE 后我 运行 遇到了麻烦 IDE。

首先,我无法让 Arduino 串行监视器与 DUE 进行交互。我已经尝试了很多次,它成功了一次,但从那以后我就没能成功了。没有报告错误。

其次,我也无法获取与DUE交互的screen终端命令。没有报告错误。

第三,如果我只是在终端中使用文本管道(例如,echo 'status' > /dev/cu.usbmodem1421 或 head -20 /dev/cu.usbmodem1421 &),我会得到适当的响应来自 DUE.

第四,Matlab应用程序可以按照设计与DUE进行交互。

请注意,这是 DUE 中的本机 USB 端口,不涉及串行适配器(及其奇怪的驱动程序)。我没有尝试将新代码下载到 DUE,因为只要我们使用 macs 固件就可以正常工作(只是我需要修改它,以便它可以与慢得多的端口一起工作在 Windows PC 中)。

我需要能够调试正在修改的代码,为此我需要能够通过终端进行交互,任何终端。知道去哪里看吗?


更新:我注意到代码没有等待 USB 准备就绪。所以我添加了

while(!WiredSerial){
  digitalWrite(PIN_LED, HIGH);
  delay(125);
  digitalWrite(PIN_LED, LOW);
  delay(125);
}

此更改后,DUE 等待打开终端,并且终端会顺利显示初始化文本。之后的行为与之前报告的相同。

没关系。

我确定我在发帖前已经检查过了。事实上,我确信这是我检查的第一件事,在此期间一定有其他事情发生了变化。

代码在发送回任何内容之前需要一个换行符,而终端只是发送一个回车 return。