Arduino支持包(又名ArduinoIO包)中的Matlab Arduino通信超时错误金宝app

3个视图(过去30天)
法比尤斯
法比尤斯 2012年6月8日
嗨,我想我已经阅读了所有关于这个问题的建议,但是我没有解决这个问题的建议。
我试图用ArduinoIO包将matlab连接到我的arduino duemilanove。我的操作系统是XP,我做了自述文件中的工作:-在arduino上上传了“adiosrv.pde”(没有问题)-关闭了arduino IDE。-从matlab安装的“install_arduino.m”启动了一个简单的通信命令:“a=arduino('COM6)”
但我有个错误:???在102连接处使用==>arduino>arduino.arduino时出错未成功,请确保arduino已通电,运行srv.pde、adiosrv.pde或mororsrv.pde,并且板已连接到指定的串行端口。在尝试重新连接之前,您也可以尝试拔下并重新插入USB电缆。
我确信:-com端口正确-电缆正常,(arduino IDE可以与arduino通信)。-所有旧的通信都被关闭(我也尝试在重新启动后打开端口)。
拜托,每个建议都很重要。

公认的答案

法比尤斯
法比尤斯 2012年6月16日
固定的
对ARDUINO代码(ADIORSV.PDE)进行了一些修改:
第40行:for(i=0;i<12;i++){
而不是:for(i=0;i<20;i++){
注意:我使用的是ARDUINO DUEMILANOVE(ATMEGA 168)(只有13个引脚)。
我希望这个问题可以被修复或在文件交换页面上报告。

更多答案(2)

MathWorks课堂资源团队
MathWorks课堂资源团队 2012年6月11日
法比尤斯,
尝试将arduino.m行89更改为:for i=1:11
或者可能超过11个。
詹比
1评论
法比尤斯
法比尤斯 2012年6月11日
我在第89行尝试了值15和20:
因为i=1:20,
fprintf(1,’);
暂停(1);
终止
但信息仍然是一样的。
(注意:我只为connectrion尝试了单个字符串a=arduino('COM6'),但失败了)
是否有其他方法来测试与arduino的连接?
我为这个问题发疯了。。
(注意:arduino可以工作,我试着上传stretch来测试电缆和通信,这是正确的)
有关信息:
arduino型号:duemilanove atmega 168
matlab版本:7.10.0(R2010a)
操作系统XP。
思想:
-我不明白arduino_的安装(可能是我做错了什么?)
-为arduino(计算机上的IDE位置)定义特定文件夹很重要
-我在尝试时多次上传服务器adiosrv.pde,这会导致问题吗?
-我在互联网上发现duemilanove的通信波特率可能是19200,我尝试了这两个值(来自arduino.m 115200和19200,但根本不起作用)
给你加油。

登录以发表评论。


阿隆
阿隆 2013年7月28日
看起来,超级主板(可能还有其他一些)在控制USB通信的固件方面存在问题。在发出“fopen”命令后,按下Arduino板上的重置按钮,就可以轻松测试这是否是问题所在(对于ArduinoIO,当“…”出现时)。由于某种原因,在建立通信后,Arduino被暂停,保持复位几秒钟并释放它将使其恢复正常并与matlab通信。
更持久的解决方案是安装新版本的固件,请参见此处: http://arduino.cc/en/Hacking/DFUProgramming8U2
还要注意:1)您不应下载“组合”固件文件,而应下载arduino usbserial文件:https://github.com/arduino/Arduino/blob/master/hardware/arduino/firmwares/atmegaxxu2/arduino-usbserial/Arduino-usbserial-atmega16u2-Mega2560-Rev3.hex
2) 要下载为十六进制文件,必须右键单击显示为“原始”的位置,然后选择“另存为”。
3) 如果您使用的是Windows,在将Arduino Mega 2560重置为DFU编程模式(使用上述快捷方式)后,您需要安装FLIP软件的驱动程序。告诉Windows从以下目录安装:..\filp 3.2.2\usb目录

社区寻宝

在MATLAB Central中查找宝藏,了解社区如何帮助您!

开始打猎吧!