主要内容

失去了连接和数据的问题

失去了联系Arduino硬件

不插电的硬件

最常见的原因失去联系是不插电电缆。检查电缆和确保它是坚定地插入。

板数据内存较低

如果你的Arduino®董事会已低数据存储器,你可能在处理大型数据集时失去联系。如果发生这种情况,删除所有库,你不使用从董事会到释放一些空间。例如,创建一个arduino对象没有图书馆。

一个= arduino (“COM3”,“Uno”,“库”,);

太多的设备对象

如果您已经创建了太多附加Arduino硬件对象,这些对象可以使用记忆在黑板上,导致失去联系。清除所有对象和连接。确保您使用更少的外围设备。

沟通在编写I2C设备损失

确保电源线总是连接。与I2C设备,服务器代码可以停止工作如果电源线断开连接。

使用定时器时连接丢失

你可以失去你的Arduino板连接当你使用一个计时器。回调计时器的MATLAB之间在您的系统上运行®代码。这可能会导致定时器发出调用设备同时发出读,写,或配置更改Arduino董事会,或者单击一个按钮在界面。操作与re-entrancy异常抛出一个错误。例如,考虑一个计时器功能,民意调查Arduino别针。

t =计时器(“名字”,“PinSniffer”,“BusyMode”,“下降”,“ExecutionMode”,“fixedSpacing”,“时间”,1“TimerFcn”,{@pollArduinoPins});函数测试人员(src、事件)试一试值= 1:10;iloop = 13如果iloop strcmpi (configurePin (a),“D3”)值(iloop-1) = readDigitalPin (a, iloop);结束结束e停止(src);重新抛出(e);结束

在这种情况下,你发出一个命令来配置针Arduino电路板和阅读价值。

configurePin (,“A0”,“DigitalOuput”);值= readDigitalPin (,“A0”);

如果你读命令和调查同时运行,计时器可以打断你的电话之前完成。这导致re-entrancy异常。

为了解决这种情况,停止定时器之前手动发出一个命令。

停止(t);configurePin (,“A0”,“DigitalOuput”);值= readDigitalPin (,“A0”);开始(t);

使用编码器连接时丢失

你可以失去Arduino板之间的连接和MATLAB,当编码器轴旋转的A / B信号速度快或编码器跨越17 - 18 kHz的阈值。当这些情况之一发生时,中断使用的A / B通道完全阻止Arduino电路板上的串行通信也依赖于中断。因此,它可以阻止Arduino电路板回到MATLAB,发送响应,你会看到以下错误消息:

主机和客户端连接。确保董事会插入,并重新创建arduino和相关对象。

然而,一旦轴停止旋转或旋转变慢,串行通信和往常一样工作。

数据问题

销不接收数据

确保设备有浮动或高阻抗针有适当的上拉或下拉电阻。使用configurePin设置模式在内部上拉。

销没有得到适当的信号

确保你的别针是正确配置。例如,一个上拉或下拉电阻是用来读取数据。使用configurePin设置模式在内部上拉。

奇怪的数据

如果你的Arduino硬件数据较低内存,您可能会看到奇怪的数据。如果发生这种情况,删除所有库,你不使用从董事会到免费的一些空间。删除库创建一个arduino对象没有图书馆。

一个= arduino (“COM3”,“Uno”,“库”,);

不正确的输入或输出

你可以得到不正确的读数销如果您使用的是错误的。例如,如果您正在编写一个销配置为输入或从销阅读配置为一个引体向上。