这个例子展示了如何通过使用外部中断来自Simulink®Ardu金宝appino®硬金宝app件支持包。
在本例中,您将了解如何在正常模式和外部模式模拟中触发函数调用。
正常模式模拟:在正常模式下,您可以通过模拟外部中断块的输入来验证模型设计。外部中断块接收输入值为0
或1
在每个时间步骤。当块端口的输入为1
,块执行函数调用子系统。函数调用在每次触发计数器时将计数器的值加1。
外部模式仿真:在外部模式下,引脚4在每个时间步长在硬件引脚2处产生脉宽调制(PWM)信号。当引脚2接收到上升边作为输入时,块执行函数调用来增加计数器的值。
Arduino由于
Arduino达芬奇
Arduino超级2560
Arduino兆理应
Arduino微
Arduino MKR1000
Arduino MKR WIFI 1010
Arduino MKR零
Arduino 3.0纳米
Arduino机器人控制板
Arduino机器人电机板
Arduino Uno
Arduino Nano 33物联网
在开始本示例之前,请完成入门Arduino硬件的例子。
金宝app支持Arduino电路板
USB电缆
试验板线
1.在MATLAB®命令窗口中执行此命令打开模型。
open_system(“arduino_external_interrupt_sim”);
在模型中SimIRQ外部中断块的端口连接到输入0
的中断源
区域。的输入值1
指示该块触发函数调用,在模拟期间的每个时间步骤将计数器值加1。
1.在模拟选项卡,单击金宝app运行.当Simulink准备在计算机上运行Simulink模型时,模型窗口的左下角显示状态。金宝app
2.现在切换中断源
输入1
.只要SimIRQ为1,计数器的值就会增加。
1.在MATLAB命令金宝app窗口中执行此命令打开Simulink模型。此型号预设在Arduino Mega 2560上运行。如果您正在使用Arduino Mega 2560,请跳过本节的其余步骤。
open_system(“arduino_external_interrupt”);
2.在模型工具栏上,单击模型配置参数按钮。
3.在“配置参数”对话框中,选择硬件实现.
4.从硬件板列表,选择您正在使用的Arduino硬件类型。不要更改任何其他设置。
5.点击好吧.
6.将脉冲发生器引脚4连接到硬件的外部中断引脚2。有关硬件上的引脚映射的信息,请参见Arduino定时器独立块的引脚映射.
7.通过执行,您可以使用预先配置金宝app为在External模式下运行的Simulink模型open_system(“arduino_external_interrupt_sim”)
在MATLAB命令窗口。否则,使用以下步骤修改模型:
一个。在Simuli金宝appnk模型工具栏中,设置仿真停止时间来20.0
秒。
b。修改中断源在Arduino硬件的引脚4上产生PWM信号。
c。双击外部中断当硬件的引脚2接收到PWM信号的上升沿时,将该块配置为产生中断。
参数参数说明|取值_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ Pin码| 2模式| RISING
8.在硬件选项卡中的金宝app模式部分中,选择机上运行然后点击监视和优化.模型窗口的左下角显示Simulink在硬件上准备、下载和运行Simulink模型时的状态。金宝app在仿真过程中,引脚4在硬件引脚2上产生PWM信号。当计数器值增加1时,引脚2在信号的每一个上升沿上产生一个中断。
9.控件中的Scope块可以在每个时间步骤中查看计数器的更改值显示数据模型的面积。在范围中,计数器值与时间值相对应。计数器值增加1
因为每个时间步骤接收的值都是1。
的值模式参数,然后重新部署该模型。
使用编码器产生的信号作为外部中断的源。