我试图构建一个与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作为串行端口
您可以在此链接找到完整的指南
希望它能帮助