主要内容

sendCommand

发送讯息至Arduino设备从MATLAB

描述

例子

dataOutpayloadSize= sendCommand(arduinoObj库名commandIDdataIn将命令发送到由您的外接程序库实现的命令处理程序。

dataOutpayloadSize= sendCommand(arduinoObj库名commandIDdataIn超时用用户指定的确认超时将命令发送到由您的外接程序库实现的命令处理程序。

例子

全部折叠

创建一个命令,并使用sendCommand发送到Arduino®硬件。

获取父Arduino对象。

arduinoObj = obj.Parent;

定义库名称。

库名=“ExampleAddon / HelloWorld”

定义命令ID,并创建要发送的数据。

commandID = obj.READ_COMMAND;dataIn = [];

发送信息。

[dataOut, payloadSize] = sendCommand(obj, libName, commandID, dataIn);

在MATLAB中显示结果®命令行。

disp (char (dataOut))
你好世界!

输入参数

全部折叠

Arduino对象,指定为一个对象,它是一个内部变量,从派生的类中调用matlabshared.addon.LibraryBase

自定义类中定义的库名称,指定为字符向量。

唯一的命令标识符,指定为数字。这个数字必须与自定义库头文件中定义的命令处理程序中的ID匹配。

一个整数数组,指定为一个向量。的大小dataIn对于不同的董事会来说是不同的。下表指定的大小dataIn对于不同的单板:

董事会 dataIn大小
达芬奇,微 150个字节
MKR1000, MKR1010, MKR 0, Mega2560,MegaADK, Due, Nano 33 IoT, Nano 33 BLE, Nano 33 BLE Sense 720个字节
Uno, Nano, Pro Mini,数字沙盒 57个字节

每个字节被限制为0到255之间的无符号整数。任何大于255的值必须转换为0到255之间的两个无符号整数,并将作为两个单独的字节发送。

超时时间,指定为数值,表示等待服务器代码确认的秒数。指定超时时间将阻塞MATLAB命令行,直到超时满足持续时间。如果没有指定timeout,默认值是5秒。

输出参数

全部折叠

返回的数据,作为双精度数组

数据类型:uint8

返回的输出的长度sendCommand,作为一个数字。

版本历史

在R2015b中引入