Matlab无法访问Arduino UNO,因为串行端口似乎被占用了



我试图构建一个与Arduino通信的Matlab脚本,但它说可能还有其他东西使用串行端口。

这是错误代码:

Failed to open serial port /dev/ttyACM0 to communicate with board Uno. Make sure there is no other MATLAB arduino object for this board. For troubleshooting, see Arduino Hardware Troubleshooting.

我尝试了一切:我以root身份启动了Matlab,一遍又一遍地重新启动我的电脑和Arduino,试图更改串行端口的名称。我还在谷歌上搜索了这个问题,找到了一些解决方案,但没有一个对我有效。有什么想法吗?我甚至不知道这里是否有软件输出。

这是我打开串口时的Matlab代码。

Serial Port Object : Serial-/dev/ttyACM0
Communication Settings 
Port:               /dev/ttyACM0
BaudRate:           9600
Terminator:         'LF'
Communication State 
Status:             closed
RecordStatus:       off
Read/Write State  
TransferStatus:     idle
BytesAvailable:     0
ValuesReceived:     0
ValuesSent:         0

PS:串行端口/dev/ttyACM0是正确的,因为我在Arduino IDE上发现了这一点,如果我尝试任何其他端口,它会说我"确保Arduino已插入"或类似的东西。

您尝试过使用符号链接吗?

userk@dopamine:~$  sudo rm /dev/ttyS101
userk@dopamine:~$  sudo ln -s /dev/ttyACM0 /dev/ttyS101

然后在matlab脚本中使用ttyS101作为串行端口
您可以在此链接找到完整的指南

希望它能帮助

最新更新