【问题标题】:cannot send data from arduino to MATLAB using a COM port无法使用 COM 端口将数据从 arduino 发送到 MATLAB
【发布时间】:2014-04-20 22:53:55
【问题描述】:

我正在尝试按照this 指南将数据从 arduino 发送到 MATLAB 程序。我的每一段代码都与示例中的代码完全匹配。但是,每当我尝试启动 MATLAB 程序时,都会收到错误消息:

使用串行/fopen 时出错(第 72 行)打开失败:端口:COM3 不是 可用的。可用端口:COM1。使用 INSTRFIND 确定是否有其他 仪器对象已连接到请求的设备。

Untitled8(第 2 行)fopen(arduino) 中的错误

谁能帮我弄清楚如何让它工作?

编辑:我的 arduino 正在打印到 COM3,所以如果我想让 MATLAB 听到它,它也需要是 COM3。

【问题讨论】:

  • 您想使用 COM3,而 MATLAB 唯一可用的端口是 COM1。检查一下。
  • 但是我的 arduino 正在与 COM 3 通信,所以我不应该让 MATLAB 做同样的事情吗?
  • 这取决于您的计算机上是否有 COM3。并且没有其他程序使用或阻止它。
  • 我的电脑上有大约 16 个串行端口。 COM1为RS232串口,其余为USB。并且arduino正在与导致阻塞的COM3交谈。如果我拔下 arduino,matlab 代码会运行但会超时(显然)。但是,如果我不能在 matlab 代码运行时让 arduino 运行,那将失去全部意义,因为我正试图让 matlab 代码读取 arduino 所说的内容。
  • 我确实有 COM 3.... 那是我用来对我的 arduino 进行编程的端口。编辑:证明(i.imgur.com/YBg5xMh.png

标签: matlab arduino usb data-transfer


【解决方案1】:

如果我理解正确,您正在使用 Arduino IDE/Monitor 在 COM3 上与您的 Arduino 进行通信。你想让 Matlab 连接到 Arduino。

由于 RS-232 是一种点对点方法,因此您只能在每一端拥有一个程序/设备,除非您添加一堆 hijink。

当您打开 Arduino IDE/Monitor 时,它使用 com 端口,其他程序被拒绝访问。

我认为您需要关闭 Arduino 监控程序以释放 Com 端口 3,然后 Matlab 程序应该能够打开该端口。

【讨论】:

  • 我已经使用终端对此进行了测试。显然,需要为终端打开端口才能接收 arduino 的打印。当我打开 arduino ide 时终端会打开,但当 arduino 的 COM 终端打开时它不会打开。所以理论上,只要打开 IDE,MATLAB 应该不会有问题。这就是我的问题。
猜你喜欢
  • 2023-03-11
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-06-27
  • 1970-01-01
相关资源
最近更新 更多