图片缩略图

Arduino的嵌入式编码器目标

version 1.7.0.1 (916 KB) by MathWorks嵌入式编码器团队
定制Arduino和其他处理器的目标
4.4
21日评级

191下载

更新2017年4月21日

视图版本历史

查看许可证

编者按:这个文件被选为MATLAB中心本周精选

此文件交换提交是Arduino的嵌入式编码器自定义目标。它使用Arduino平台作为示例硬件,但它展示的示例可以用来学习,然后应用于任何自定义目标。以应用的方式-它显示了利用嵌入式编码器的许多特性和创建自定义目标的功能和步骤。之所以选择Arduino,是因为它具有广泛的可访问性,并且有一个大型的DIY社区,而且当各种Arduino平台发生变化时,它是一个探索自定义目标所需的各种事物的伟大平台。
自定义目标作者可以使用此提交来扩展/创建更多Arduino目标,或者仅以此为例创建自己的目标。具有嵌入式编码器的最终用户可以将此提交用于其Arduinos。
这个自定义目标中包含的一些亮点包括:
-显示如何处理不同Arduino板(甚至非Arduino板)的依赖关系。目前的套装包括Uno、莱昂纳多、Mega2560。
-可选项驱动到最小的足迹和内存
-环内处理器(PIL)
探索了许多调度和计时模式。
-在Simulink算法中直接暴露的溢出检测,允许在执行期间检测到溢出金宝app时进行算法调整。
-关于如何添加/更改外设块/功能的丰富的例子(LCD,伺服电机,UART,打印到UART, DIO,超声波传感器,异步中断,I²C主,I²C从,等等)。
用于创建自定义目标的其他资源
-嵌入式编码器产品文档
www.tatmou.com/help/ecoder/index.html(需要帐户/许可证)
-发展嵌入式目标咨询服务
www.tatmou.com/services/consulting/proven-金宝搏官方网站solutions/developing-embedded-targets.html
- MATLAB答案:开发自定义目标的例子
www.tatmou.com/matlabcentral/answers/93884
注意:仅支持Arduino IDE版本1.0.5,并且不维护此提交以支持新IDE金宝app。
有关其他Arduino支持,请参阅金宝appwww.tatmou.com/hardware-金宝appsupport/arduino-金宝appsimulink.html

引用为

Mathworks嵌入式编码器团队(2021)。Arduino的嵌入式编码器目标(//www.tatmou.com/matlabcentral/fileexchange/30277-embedded-coder-target-for-arduino), MATLAB中央文件交换。检索

意见及评分(97

柯蒂斯

构建“工作”,但在构建期间有一个错误。我不认为commontargetlib。TLC包括在2018a。所以没有生成。hex文件。

错误:文件:c:\ users \ turbo \ documents \ matlab \ arduino_ec_target \ arduino_ec \ arduino_ec.tlc行:20
无法打开%include文件commontargetlib.tlc

j·桑托斯

Vasavi赛

你好……

我用Simulink模块编程Arduino。金宝app它工作很好,但每次它都应该连接到Simulink工作。金宝app
当我关闭Simulink时,Ard金宝appuino是不工作的,在这种情况下,我不能保持我的PC与Simulink运行Arduino。

从Simulink上传后,是否有办法使用唯一的带12V适配器的Arduino金宝app

谢谢你!

张贾谅解备忘录

艾哈迈德Nawara

我的Matlab是18b,它显示错误如下…如果有人能找出错误的原因和解决方法,我将非常感谢您的帮助:)
"Error: 金宝appSimulink Coder Error in block: "untitled/LCD Shield", block type "S-Function": Formated LCD output block requires c++ "

哈维尔Ros

不支持Linux:-(!金宝app!

凯Wonderley

似乎没有2018年的工作。非常失望

弗拉德Vetrov

你有什么办法来解决“暂停”的问题吗?

弗拉德Vetrov

自闭症

dgmcik

Guijiang段

你好。
谢谢你的支持包。金宝app
我对PIL模拟(Myarduino_Blink2_Pil)有问题。我正在使用IDE v1.6.5。
我已经执行了Tomas描述的修复,但没有工作。我还修改了修复如下,它不工作:

如果〜strcmp(arduino_ec.prefs.getboard,'Leonardo')
%复位电路板;这是PIL正确启动它所需要的!
ResetArduino (avrdude_port);
%通常Arduino在闪烁后“吃掉”第一个字节
sendDummy(avrdude_port);
结束

我得到的信息是:

###启动PIL模拟
警告:NARGCHK将会在未来的版本中被移除。用NARGINCHK或NARGOUTCHK代替。
###停止PIL模拟
接收rtiostream接口数据的超时时间超过5秒。处理步骤这种失败可能有多种原因。
你应该:

检查目标硬件配置是否正确,例如,检查字节顺序是否正确。
(b) 确认目标正在运行。
(c)考虑应用程序运行时故障的可能性(例如,除零异常、不正确的自定义代码集成等)。

注意(c):为了识别运行时故障的可能原因,考虑使用SIL,它支持信号处理程序和调试。金宝app

如果找不到解决方案,请考虑使用RTW.CalutVist.RioTraseHoalCudioStor的方法TestTimeOutReVCSES来增加超时值。

谢谢

杰西卡

你好!我有一个问题。
在OS X 10.11.6中,arduino路径是未指定的或无效的,我的matlab版本是2016b,
设置如下:
arduino_ec.Prefs.setArduinoPath(' /用户/ home /下载/ Arduino的)
谢谢

Aashifa拉菲克

艺术Malyutin

运行需要什么版本的MATLAB ?

艺术Malyutin

大家好。我在安装过程中遇到问题。Matlab显示错误

使用arduino_ec.Prefs错误。setBoard(第75行)
无法找到电路板规范文件。确保这件事
Arduino IDE的路径设置正确,例如
arduino_ec.Prefs.setArduinoPath(“c: rduino-1.0.5”)

setup_customtarget_arduino错误(第34行)
arduino_ec.Prefs.setBoard(“mega2560”);%选择单板名称

安装花费在pdf格式发布的说明、指向Arduino的方法、平台名称和端口上

赫尔穆特

你好

首先:感谢这个支持包。金宝app

当PIL模拟启动时,我也得到超时错误消息。

不幸的是,托马斯描述的最新修复对我不起作用。有进一步的想法吗?

提前谢谢。

最好的问候,
赫尔穆特

托马斯

挂PIL的原因是这样的事实,Arduino在重置后“吃掉”UART的第一个字节。所以我们需要修改函数“runAvrDude.m”。查找~80行并按如下方式修改它:

如果〜strcmp(arduino_ec.prefs.getboard,'Leonardo')
%复位电路板;这是PIL正确启动它所需要的!
ResetArduino (avrdude_port);
其他的
%通常Arduino在闪烁后“吃掉”第一个字节
sendDummy(avrdude_port);
结束

之后,在文件末尾添加以下函数:

功能SendDummy(端口)
%在闪烁后发送虚拟字节到Arduino重新建立COM端口

%打开端口
自由=“libmwrtiostreamserial.dll”;
portID = rtiostream_wrapper(lib,'open', '-port', port, '-baud', '9600');
如果portid == -1
错误('目标闪烁后无法打开COM端口');
结束

发送数据
[errorCode, dataLength] = rtiostream_wrapper(lib, 'send', portID, uint8('a'), 1);
如果errorCode ~= 0
错误('目标闪烁后无法发送到COM端口');
结束

%关闭端口
res = RTIOSTREAM_WRAPPER(lib,'close',portid);
结束

HY_360

@Matthias韦伯
谢谢!

Yashar Kouhi

Kemo,你能找出问题出在哪里吗?rtiostream.cpp文件似乎有问题。

kemo.

@yashar Kouhi
我有和你描述的完全一样的问题!!

Yashar Kouhi

嗨,我的董事会是mega2560。尽管代码生成已成功完成,但在运行PIL模拟(myarduino_blink2_PIL)时,我收到以下错误消息。
从rtiostream接口接收数据的5秒超时时间已经超过....。我修改了几次接收数据时间,但是问题没有解决。有人能帮我吗?

谢谢

马蒂亚斯•韦伯

大家好,我刚刚下载了IDEV1.6.8进行测试。需要调整Prefs.m中的boardsFile以查找文件:

boardsFile = fullfile(arduino_ec.Prefs.getArduinoPath(), 'hardware', 'arduino', 'avr', 'boards.txt');

卡洛斯

这个包似乎不能与IDE 1.6.8一起工作。因为板文件位于AppData中,而不是与安装文件在一起。

fenix.d.0831

对不起,我也可以在我的matlab 2014a上使用这个包吗?
我不知道把这个包裹放在哪里。

如果有人能帮忙,谢谢。

Sm EmbeddedSystem

丹·卢奇,你能给我你的邮箱吗?

丹Lluch

@Saad-确保在首次安装时使用README.PDF。安装脚本还运行一个“构建所有s函数”——生成与目标一起分发的所需s函数。从错误中可以看出,您可能没有构建它们,或者没有将它们添加到路径中。这两件事都是通过设置脚本处理的。祝你好运

如果有用 - 有关Arduino的各种差异选项的描述:
//www.tatmou.com/matlabcentral/answers/242924-arduino-金宝appsupport-from-matlab-and-金宝appsimulink-across-releases

Sm EmbeddedSystem

当我尝试模拟模型时,我有这个问题"错误在S-function 'myarduino_blink2_PIL/Digital Output': S-function 'sfunar_digitalOutput' does not exist"

尼尔。

你好,托德,

我已经能够使用最新的IDE(1.6.5)来获得嵌入式支持包。金宝app你需要做的是找到target_tools。在'\arduino_ec'路径下。编辑此文件以在ARDUINO_INC_LIBS、TARGET_INC_DIR和TARGET_SRC_DIR变量中包含正确的文件路径。最后一步是注释掉EXTRA_SRCS变量中的行(新的IDE不使用malloc和realloc)

所以我矫正的线条看起来像:

-I$(ARDUINO_ROOT)/hardware/arduino/avr/libraries/Wire \
我美元(ARDUINO_ROOT) /硬件/ arduino avr \ /图书馆/线/实用工具
-i $(arduino_root)/ libraries / servo \
我$ (ARDUINO_ROOT) /图书馆/ LiquidCrystal \
我$ (ARDUINO_ROOT) /图书馆/以太网\
我$ (ARDUINO_ROOT) /图书馆/以太网/效用\
我美元(ARDUINO_ROOT) /硬件/ arduino avr /图书馆/ SPI \

TARGET_INC_DIR = - $ (ARDUINO_ROOT) /硬件/ arduino / avr内核/ arduino
TARGET_INC_DIR + = - $ (ARDUINO_ROOT) /硬件/ arduino avr /变量/美元(变种)

Target_incs = $(target_inc_dir) $(arduino_inc_libs)
TARGET_SRC_DIR=$(ARDUINO_ROOT)/hardware/ARDUINO/avr/cores/ARDUINO



#这里我们从不同的文件夹中添加一些Arduino库文件
$(TARGET_SRC_DIR)/avr-libc/malloc.c \
# $ (TARGET_SRC_DIR) / avr-libc / realloc.c

原谅格式化。这个装置对我很管用。

托德

我将这个目标用于Zumo32U4,这是一个类似于Arduino达芬奇的电路板。事实上,我可以把它当作Arduino IDE中的Leonardo,没有任何问题。然而,Arduino的Si金宝appmuli金宝appnk支持包与Zumo32U4通信有问题。

我遇到的一个突出问题是,部分板支持代码不能与Arduino 1.0.5一起工作,我无法使Arduino的Embedd金宝apped Coder目标与Arduino 1.6.5一起工作。

是否有兴趣在嵌入式编码器团队帮助我使目标与Arduino 1.6.5工作?

有没有计划更新arduino 1.6.5的Simulink支持包金宝app,或者这金宝app个编码器目标?

最后,如何将A-star/Zumo32U4目标添加到Arduino的Simulink支持包中?金宝app金宝app

谢谢,
托德

Suytry肯塔基州

谁知道!
我想知道arduino的Embedded coder target, ArduinoIO和Simulink的arduino支持包有什么不同?金宝app金宝app
现在,我对这些包裹感到困惑,这里有人能解释一下吗?
提前谢谢!

托马斯

消息“S-Function 'sfunar_digitalOutput' does not exist”意味着在安装过程中没有创建(编译)S-Function。请检查/提取c编译器的运行情况:
墨西哥人设置
然后通过脚本重新编译S-Functions:
build_all_sfunctions

之后,在“blocks”目录中应该是扩展名为“”的文件。mexw32”职责。".mexw64",根据MATLAB版本。

Abubakar Muqaddas

你好,我在运行myarduino_blink时遇到了问题。基金演示。

我的MATLAB版本是R2015a,使用的是Arduino Uno。我运行了setup_custom_target_arduino文件。修改了m文件中的相关目录列表和arduino版本后,我在COM 3上得到了arduino的输出,是正确的。

在这之后,我检查了Simulink库浏览器,我有自定金宝app义C/ c++目标Arduino库将其所有模块。现在当我模拟模型时,我得到以下错误:

错误的S-function 'myarduino_blink/Digital Output': S-function 'sfunar_digitalOutput'不存在

请帮帮我,我做错了什么?

kemo.

你好每一个人,我有一个简单的模型,集成了一个输入信号,它在公益诉讼模式,但积分器arduino只是编码的一部分,现在我想用输出信号驱动一些电子(伺服,),但我不能这样做,谢谢

kemo.

谢谢Mikhail为您的答案,我意识到这一点,但我有另一个问题:
现在我的模拟正在运行“模型块PIL”在UNO上为某些控制器运行,我需要在Arduino_Lib中使用“伺服块”将控制操作输出到伺服,当时我尝试将此一部分添加到“模型块PIL”我最终在建筑舞台上出错了。

米哈伊尔•

作用域只在模型的模拟部分起作用。如果你在做“Top model PIL”,scope将不起作用,因为整个模型是在目标上运行的。你应该做“模型块PIL”与范围在更高级别的模型(运行在模拟)观察范围信号。

kemo.

为什么scope在PIL模式下不能工作,因为模型在Tx&Rx LED下运行良好

托马斯

当你有像“…不存在”,它看起来目录“块”不在MATLAB路径上。应该是这样,因为它是在函数“setup_customtarget_arduino”中完成的。在第一个函数行上保存M ",然后保存这个路径:
目录fullfile (pwd arduino_ec), fullfile (pwd, '块'))
结果= savepath;
尝试运行“setup_customtarget_arduino”。m”了。

基里尔

我有一些麻烦,当我试图运行模拟/构建/flash任何模型的例子(错误在S-function 'myarduino_blink/Digital Output': S-function 'sfunar_digitalOutput'不存在)。但是安装成功了(所有路径保存在matlab中(2014/64)。我做错了什么?

托马斯

这是严格基于avr的Arduino与IDE版本1.0.5。由于不同的MCU、不同的编译器以及IDE 1.5.x不同的内部结构,这在Due上是无法工作的。
如果有更多的兴趣,我们可以考虑Arduino Due端口。
谢谢

托马斯。

我正在尝试使用我的arduino Due包。
我在评论中看到,Arduino 1.5。不支持X。金宝app所以我安装了1.0.5,并在安装文件中正确设置了路径。当我试图构建演示“myarduino_blink。我得到以下错误:

Oppiling:C:/Users/thomas/desktop/arduino_ec_target/blocks/io_wrappers.cpp
编译:myarduino_blink.cpp
未知MCU 'cortex-m3'指定
了解单片机的名字:
avr2
at90s2313


C:/Users/thomas/Desktop/arduino_ec_target/blocks/io_wrapper .cpp:1:错误:MCU 'cortex-m3'只支持汇编金宝app
/arduino/hardware/tools/avr/lib/gcc/.. ./avr/include/avr/pgmspace.h:82
来自C:/ rarduino/hardware/arduino/cores/arduino/arduino.h:8,
托马斯从C: /用户/ /桌面/ arduino_ec_target /块/ io_wrappers.cpp: 10:
/arduino/hardware/tools/avr/lib/gcc/.. ./avr/include/avr/io.h:330:6: warning: #warning "device type not defined"
在C:/Users/Thomas/desktop/arduino_ec_target/blocks/io_wrappers.cpp:10:10:
C:/Arduino/hardware/ Arduino/ cores/ Arduino/ Arduino.h:213:26: error: pins_arduino.h: No such file or directory


有人用过Arduino Due的这个包吗?请帮帮我。

salah tajori

salah tajori

很好

托马斯

我以前从未见过这条消息。基本上,makefile (arduino_ec.tmf)的最后一个任务是第248行,内容如下:
@echo ### create $(PRODUCT) successfully(或者它已经是最新的)

该消息的第一部分类似于makefile进程顺利结束的标志。可能存在标准输出刷新问题,例如,文本的最后一部分仍在缓冲区中。
请尝试以下步骤:
1.进入生成代码的目录,例如“mymodel_arduino”。
2.在这里打开DOS命令窗口。
3.运行BAT文件,如“mymodel.bat”-名称取决于模型的名称;只有一个bat文件。无法使用此文件的路径,需要在BAT文件所在的文件夹中打开DOS窗口。
4.该文件已生成,并由嵌入式编码器调用以构建项目
5.观察,如果你在最后一行看到“###成功创建了我的模型……”
6.如果您能看到这一点,则表示Simulink金宝app没有接收到这部分消息
7.如果您没有看到,则说明模板生成文件“arduino_ec.tmf”中存在问题。

不管怎样,看起来HEX文件已经创建,只是这个消息还没有到达Simulink。金宝app

Moataz

请在这个问题上提供帮助。
###无法找到构建成功字符串。“***在构建日志中创建*”。
你能帮个忙吗
谢谢

Moataz

感谢你的回复。我成功地将arduino uno与myarduino_hc04_test模型闪存。但是,当我尝试构建它时,我收到错误消息
###无法找到构建成功字符串。“***在构建日志中创建*”。
你能帮个忙吗
谢谢

托马斯

在我的情况下,原始模型是工作的,新创建的模型使用SR04块从库是工作的。在操作原始库(库本身、S-Function或TLC文件)时可能会出现问题。如果您想进行调查,请查找文件“sfunar_hcsr04.tlc”。有这样一行:
%assign errTxt = "不支金宝app持的函数参数:%<模式>"
从这里可以看到您的错误消息。您写道消息是“untitled_consp.HCSR04_p4”。这真的很奇怪,因为这些值是作为数值参数从S函数得到的,预期值在1到3之间,最初来自对话框。
请检查您的安装并重新编译所有S-Functions。

Moataz

我也不想为了flash我自己的模型到arduino板,我不得不复制和粘贴模型在myarduino_hc04_test模型和flash它。如果我复制SR04块到我的模型,它不工作。

托马斯

“不支持的功能参数”意味着测量金宝app模式(Raw /厘米/英寸)不在这三个值之内。请尝试原始模型文件“myarduino_blink_sr04”。

Moataz

当我尝试使用HCSR04块下载Arduino Uno Board时,我收到以下错误
错误:Simu金宝applink Coder错误在块:"untitled/HC-SR04",块类型"S-Function":不支持的函数参数:untitled_ConstP。金宝appHCSR04_p4

我用2013 b。请帮助

托马斯

对于Marta:Arduino版本1.5.x不受支持,您必须使用1.0.5。原金宝app因是1.5.x使用不同的文件夹结构,头文件位于不同的路径上。

托马斯

大多数新块都需要使用C ++代码生成。请检查“代码生成” - >“语言” - >“C ++”。

爱德华多

我最近下载了文件,我试图使用其中的一些例子,但在许多情况下,我得到这种类型的错误时,试图部署在Arduino Uno板。

错误:Simu金宝applink Coder错误在块:"myarduino_LCD_LED/LCD Shield",块类型"S-Function":格式化的LCD输出块需要c++

我目前使用的是最新版本的MATLAB 2014a。

玛尔塔

我下载并安装了Arduino Mega 2650。我浏览了README.pdf文件。当我尝试运行myarduino_blink。我得到错误消息时,做构建阶段。
请建议。
下面是错误信息。

....
....
....

编译:myarduino_blink.cpp
编译:ert_main.cpp
myarduino_blink_data.cpp:16:
myarduino_blink.h:21:21:错误:Arduino.h:没有这样的文件或目录
(myarduino_blink_data gmake: * * *。o]错误1
gmake: ***等待未完成的工作....

.....
.....
.....

(io_wrappers gmake: * * *。o]错误1
myarduino_blink.cpp:16:
myarduino_blink.h:21:21:错误:Arduino.h:没有这样的文件或目录
myarduino_blink.cpp:函数'void myarduino_blink_step()':
myarduino_blink.cpp:58:错误:“digitalWrite”未在此作用域中声明
myarduino_blink.cpp:在函数'void myarduino_blink_initialize()'中:
myarduino_blink.cpp:87:错误:'OUTPUT'未在此作用域中声明
myarduino_blink.cpp:87:错误:'pinMode'未在此作用域中声明
(myarduino_blink gmake: * * *。o]错误1
在ert_main.cpp文件中:16:
myarduino_blink.h:21:21:错误:Arduino.h:没有这样的文件或目录
Ert_main.cpp:20:错误:uint8_t没有命名一个类型
Ert_main.cpp:21:错误:uint8_t没有命名一个类型
ert_main.cpp:在函数'int main()'中:
ert_main.cpp:34:错误:在此范围内未声明'init'
Ert_main.cpp:38:错误:'micros'没有在此范围内声明
ert_main.cpp:48:错误:'uOverrunCounter'未在此作用域中声明
gmake:**[ert_main.o]错误1
###模型的生成过程:“myarduino_blink”由于错误而中止。

Arut

arduino社区正在成长,因此将支持也扩展到OSX平台将是很好的金宝app

托拜厄斯

你好

我正在尝试运行这些嵌入式编码器插件在Matlab2011b与Linux Debian 64bit和Arduino 1.0.5。
我遵循了命令部分和链接网站给出的说明。但是当我试图构建“demo_arudino_blink”模型时,Simulink给出了错误:金宝app
"makeCmd必须默认为PC Make命令"。

在Matlab命令窗口,我可以读到:

###写入标题文件RTWTYPES.h
###正在写入源文件demo_arduino_blink.c

###正在写入头文件demo_arduino_blink_private.h
###正在编写源文件demo_ardino_blink_data.c

###正在写入源文件ert_main.c
### TLC代码生成完成。
###创建项目标记文件:rtw_project .tmw

###处理模板制作文件:/home/testuser/. programs / matlab /simulink_support_p金宝appacka金宝appge_arduino/arduino/arduino.tmf
###模型的构建过程:'demo_arduino_blink'由于错误而中止。

所以我认为这个错误是由错误的arduino造成的。tmf文件。我想编码器是在比较pcMakeCmd和Arduino makeCmd,但是在Linux中Arduino makeCmd在哪里?

如果有人能帮我把这东西修好我会很感激的。

谢谢

福克斯谭

@Dan Liuch-谢谢你的建议,我在结账后做了一个中断块//www.tatmou.com/matlabcentral/fileexchange/39354-device-drivers

丹Lluch

@fox tan -看看这篇可能会有帮助的文章(以及用它制作其他外围设备的贡献者):
//www.tatmou.com/matlabcentral/fileexchange/39354-device-drivers

福克斯谭

这是一个很好的包裹!
但是哪里可以得到arduino中断块呢?或者谁能告诉我如何创建这个块?谢谢你的帮助!

klob

你好

我使用arduino目标有问题。
我试图通过串行通信从arduino上运行的模型发送数据到我的计算机上运行的模型。

The problem is that I get wrong values when the data I am about to send are negative (i.e. the transmission is fine when I am sending values 0 or greater but wrong when they are below zero (instead of -4 I receive 252 etc)).
我还试图通过示例发送负值(demo_arduino_serial_communication和demo_arduino_serial_communication_host),通过改变模拟输入块与一个常量块,再一次,它的工作很好,当使用值0或更大,但我得到以下错误消息时,我试图通过串行通信发送负值。
" 'Value'发生参数溢出。参数的值超出了运行时数据类型可以表示的范围。指定的值已饱和到最接近的可表示值。您可以在配置参数对话框的诊断窗格中控制此诊断。

我想尝试在诊断窗格上更改一些内容,但我认为先问更有经验的人会更明智。

你觉得呢?

我有arduino UNO和MATLAB R2011b。

提前谢谢,
一个绝望的学生

法比安

这也适用于(至少)Arduino 1.01在Mac OS Mountain Lion与斯特凡Disch修复,至少:

-将端口设置为Arduino中指定的,通常是/dev/ tty…,发现康体不工作
-通过删除第23行的“-P”和“%s”之间的任何内容来调整/arduino/+arduino/runAvrDude.m
-你会得到一个检查Arduino.exe,它不存在。删除它并使用arduino.Prefs.setArduinoPath('/Applications/Arduino.app/Contents/Resources/Java/')设置路径。
-打开Arduino文件夹,复制Arduino.h,命名为WProgram.h。(无论谁决定这是个好主意…)

祝你好运

Aditya

是否有一个关于如何创建自定义simulink块编码标准arduino库,如lcd显示库?金宝app我觉得你得创造自己的s-functions。您也可以公开包含arduino块库后面的s-functions -这样其他人可以构建和创建新的块。

杰德F。

这对于在OSX和Linux上工作来说也非常简单。

@Andrey Zagvazdin:boards.txt的解析非常糟糕。我有一个新的,我想张贴,但许可证禁止它。我将制作一个补丁文件。

默罕默德

有没有人试过使用chipkit max32微控制器上的arduino目标包?或者知道它是否会支持这个计划?金宝app

Gautam Vallabha

@ceverus33在会议上回答的问题//www.tatmou.com/matlabcentral/answers/35538

cerverus33

与“Simulink Support Package for Ardui金宝appno U金宝appno Hardware”文件有什么区别?我对此有点困惑

一般的指导方针:
*请使用FileExchange页面发表对支持包的一般评论和评级金宝app

*如果你有关于使用这个支持包的问题,请在金宝apphttp://www.mathwands.com/matlabcentral/answers.(标签“arduino”,产品“Embedded Coder”)

长城航空

嘿,
我只需要知道这个支持包是否也适用于Matlab R200金宝app9A?

我想在Simulink中做小模型,并将其flash到Ard金宝appuino Mega 2560 Board。我可以使用R2009a!

安德烈Zagvazdin

你好!MatLAB 7.12 (R2011a) 64位。操作系统Windows 7
费用克隆Arduino,俄罗斯大会Freeduino(http://freeduino.ru/arduino/index.html),一个完整的模拟Ardruino Uno / Duemilanove与/ATmega328。
我的行为:
连接“Arduino”到MatLAB
*设置ArduinoIO(//www.tatmou.com/matlabcentral/fileexchange/32374);
*解压到C: \ arduinoIO;
* >> Cd c: \ arduinoIO
* > > Install_arduino
* > > Savepath
* flash“Arduino”核心srv。pde (https://github.com/adafruit/Adafruit-Motor-Shield-library/zipball/master);
* >> A = arduino ('COM4');
在这一点上,一切都是好的!从MatLAB窗口,电路板响应并接收命令。

2-将“Arduino”连接到SIMULINK金宝app
*下载Arduino的Package Simulin金宝appk支持包(金宝app//www.tatmou.com/matlabcentral/fileexchange/30277);
*“用金宝app于Ard金宝appuino的Simulink支持包”未包装到C:\ Arduino_simulink
*下载星期三Arduino IDE(Arduino-1.0)并将其解压缩到c:\ArduinoTarget
* >> Cd c: \ arduino_金宝appsimulink
* >> Addpath (fullfile (pwd, 'arduino'), fullfile (pwd, 'blocks'), fullfile (pwd, 'demo '))
* > > Savepath
* >> sl_refresh_customizations.
*插件板“Arduino”到您的计算机。
*指示环境的路径Arduino IDE >> Arduino . prefs . setarduinopath ('c: \ ArduinoTarget')

这就是目前为止的情况。

*确定当前的平台团队
>> Arduino.Prefs.setBoard ('atmega328')或>> arduino.Prefs.setMcu ('atmega328')
抛出一个错误
> > Arduino.Prefs.setBoard(“atmega328”)
? ?引用单元格中不存在的元素
大批。
错误==> prefs> prefs.parseboardsfile在227
lhs = parsedLines {i} {1} {1}%
可以是xx.yy.zz的形式
在==> Prefs> Prefs。setBoard在66
董事会=
arduino.Prefs.parseBoardsFile (boardsFile);
> > Arduino.Prefs.setMcu(“atmega328”)
? ?使用==> Prefs时出错。setMcu在129
此函数已弃用。使用
arduino.Prefs.setBoard相反,如
arduino.Prefs.setBoard(“uno”)

试图忽略这个选项并保持设置,但在建模中,要求明确指定模型。

米哈伊尔•

竖起大拇指在此包上提供更多免费许可的数学工作(截至2012年3月14日发布),允许分发和共享代码!
虽然内容本身尚未更新,但这是一种遗憾。

诺尔斯

加里

想改变模拟PWM频率,需要知道改变Timer1和Timer2是否安全地用于Simulink时基的完整性(假设Timer0由Simulink使用)?金宝app

米哈伊尔•

这里我添加了伺服写块,它与电机屏蔽工作:
//www.tatmou.com/matlabcentral/fileexchange/35356-金宝appsimulink-arduino-servo-write-block

欢迎您将此补丁纳入官方软件包。

谢谢!

是否可以通过模块集访问I2C引脚(SDA/SCL) ?如果没有,希望有一个解决方案!!

米哈伊尔•

如果有电机屏蔽支持就太好了,就像MATLAB中Arduino的支持包一样。金宝app

加里

优秀的包裹,在我的uno上工作

在块目录中有一个LCDOutput 'S'函数,这可以使功能&如果是这样如何?

拉贾溃败

我没有找到任何选项访问其他串行端口。

拉贾溃败

非常非常感谢,继续努力。它与2011a成功安装工作。我们能用这个工具箱访问Arduino的额外串口吗??.....

做记号

这可用于将引脚配置为中断吗?

斯蒂芬脱臼

我还尝试了修复2)(使用Arduino 1.0)。

在Arduino 1.0中,包含的命名和布局发生了一些变化(参见http://arduino.cc/en/main/releasenotes.详情)。

我对当前版本的Arduino目标进行了以下更改:

1.编辑boards.txt并删除第145行到181行(如之前的帖子所述)
2.将每次出现的“WProgram.h”替换为“Arduino.h”。
3.在RTWMKCFG中添加addInal包含路径,以查找“PINS_ARDUINO.H”标题文件(移动到新变体DIR)。
4.注释掉arduino_main中的第33行。tlc,因为__cxa_pure_virtual现在已经在Arduino 1.0库中定义(参见new.h)。

这些更改允许我编译blink演示程序而没有错误。

柯蒂斯

我尝试了以下修复:1)使用旧的IDE(0023)

一切工作。

柯蒂斯

我尝试了这个修复(2)Edit boards.txt并删除第145行到181行(包括)。

然后得到这个错误。

demo_arduino_blink.h:23:22:错误:WProgram.h:没有这样的文件或目录
(demo_arduino_blink_data gmake: * * *。o]错误1

MathWorks课堂资源小组

最新arduino IDE (arduino 1.0)的hardware/arduino/boards.txt解析有问题。暂时,试试下面的方法:

1)使用较旧的IDE(0023或0022),或

2)编辑boards.txt,删除145行到181行(包括)。

肖恩

当尝试执行arduino.Prefs.setBoard时,我得到一个错误:

???引用单元格数组中不存在的元素。

在==> Prefs>Prefs。parseBoardsFile在227
lh = parsedLines{我}{1}{1};%可以是xx.yy.zz

在==> Prefs>Prefs。setBoard在66
董事会= arduino.Prefs.parseBoardsFile (boardsFile);

有人知道为什么吗?

斯蒂芬威廉姆斯

刚刚找到PWM模块-它被标记为“模拟输出”

斯蒂芬威廉姆斯

请添加PWM模块

斯蒂芬脱臼

目前有人在Arduino 1.0版本中使用过吗?

马塞尔

卖家

太好了,谢谢你。

MathWorks课堂资源小组

2011年11月22日的更新与11月29日的更新相同(较早的日期是文件提交到FileExchange的日期,较晚的日期是文件获得批准和发布的日期)。

卖家

有2011年11月29日更新的直接链接吗?我只能找到2011年11月22日的更新。

MathWorks课堂资源小组

注:支持包的最新版本(2011年11月29日发布)应与Uno一起金宝app解决上述问题。

卖家

嘿,伙计们,

有没有人遇到过“多重主要错误,例如。

主要。o:在main函数中:
main.cpp:(.text+0x0):多重定义' main'

我遵循了所有的说明,使用eclipse为我的Arduino UNO编译时没有遇到任何问题。

谢谢Frazer.

Guillaume马丁

谢谢斯蒂芬。

我按照你说的做了(但我在Prefs.m中将波特率修正为155200),然后它运行了。

非常感谢,
纪尧姆

斯蒂芬脱臼

我需要两个变化来让它在我的环境中工作(Win 7, Matlab 2011b, Arduino-0023软件,Arduino Uno):

——首选项。我在函数searchForComPort中更改了设备名称的字符串为'\\ device \\USBSER000'
(查看你的注册表HKEY_LOCAL_MACHINE\HARDWARE\DEVICEMAP\SERIALCOMM来识别正确的字符串)

- 在runavrdude.m中,我从avrdude呼叫中删除了波特拉特选项。(在它设置为57600之前,它不起作用)

致以最亲切的问候
斯特凡

Guillaume马丁

波特率设置为57600,但我的波特率是115200。(因此,上传不起作用)

你知道如何配置波特率在:
c:/AARDUI~1/hardware/tools/avr/bin/avrdude -V -F -C:/AARDUI~1/hardware/tools/avr/etc/avrdude.conf -p atmega328p -p ///COM4 -c stk500v1 -b 57600 -U flash:w:demo_arduino_blink. txt . txt十六进制?

最佳regads,
纪尧姆

Sulman Shafqat

MATLAB版本兼容性
创建R2013b
与任何版本兼容
平台兼容性
窗户 macOS Linux.
社区

社区寻宝

找到Matlab Central中的宝藏,并发现社区如何帮助您!

开始狩猎!