这个例子展示了如何使用Simulink®Support Pa金宝appckage金宝app for Arduino®Hardware来对串行数据进行编码和解码。
金宝app支持的硬件
Arduino超级2560
Arduino兆理应
Arduino Uno
Arduino由于
Arduino MKR1000
Arduino MKR WIFI 1010
Arduino零
Arduino达芬奇
Arduino Nano 33物联网
Arduino Nano 33 BLE Sense
在这个例子中金宝app仿真软件模型,执行以下操作:
在这个模型中,TX1引脚将串行数据发送到Arduino硬件的RX1引脚。
此模型被配置为在外部模式下运行。有关外部模式的更多信息,请参见调优和监控在硬件上运行的模型.
open_system (“arduino_encode_decode_packet”);
本例中提供的模型是为Arduino Mega 2560板预先配置的。你可以在任何一块板上运行这些模型金宝app支持的硬件通过改变硬件板参数。金宝app有关如何更改的更多信息硬件板参数,请参阅步骤2:配置Arduino硬件模型这个例子的一部分。
在开始这个示例之前,我们建议您完成以下内容:
要运行此示例,您必须拥有以下硬件:
金宝app支持Arduino电路板
连接电线
USB电缆
1.用USB线将Arduino板连接到电脑上。
2.将TX1引脚连接到Arduino硬件的RX1引脚。这个连接是一个环回连接。
1.打开金宝app仿真软件模型模型。此模型被配置为在外部模式下运行。
2.要配置模型,单击硬件设置在硬件选项卡。金宝app
3.在“配置参数”对话框中,选择硬件实现.
4.从硬件板列表,选择您正在使用的Arduino板类型。
5.从组列表下目标硬件资源中,选择串行端口属性.
的串口1波特率参数设置为9600
.在此例中,波特率为串口1波特率,因为TX1和RX1引脚对应Arduino硬件的Serial port 1。如果您使用其他串口引脚进行通信,请指定相应串口的波特率。
6.点击应用.点击好吧关闭对话框。
本例中使用的报文结构是:
双击块,验证块参数对话框中指定的参数值。
对于其他块,参数是:
块名称| |参数值 --------------------------------------------------------------------------------- 常数|向量参数解释为一维样本时间| | |选择正串行传输|串口| 1 |发送模式|编写串行接收| | 1 | |端口号数据类型uint8 | | | | 10个样本时间长度数据0.1显示状态| Format | short
的值数据长度设置Serial Receive block的参数为10,即这些值的和:
报头大小(1字节)+ Data1(1字节)+ Data2(2字节)+ Data3(4字节)+ Checksum(1字节)+ Terminator(1字节)
请注意:由于TX1引脚接在RX1引脚上,指定串行端口参数的串行传输块和端口号参数的串行接收块,1
.
在生成代码并在Arduino上部署模型之前,您可以使用Connected I/O在Normal模式下模拟模型,以验证模型设计。当您模拟模型时,TX1引脚将数据传输到Arduino硬件的RX1引脚。模型和Arduino之间的这种通信不需要任何代码生成或模型部署,从而加快了仿真过程。有关连接I/O的更多信息,请参见通讯与硬件在正常模式模拟使用连接的I/O.
使用Connected I/O在Normal模式下模拟模型:
1.在模型工具栏中模拟选项卡,设置仿真模式为正常的
.
2.要在Connected I/O模式下运行此模型,请在硬件选项卡,模式部分中,选择连接输入输出然后点击运行IO.
当Simulink在您的计算机上准备、下载和运行模型时,模型窗口的左下角显示状态。金宝app
在每个时间步骤中,常数
块被编码成uint8字节流(包),并通过TX1引脚传输到你的Arduino硬件的RX1引脚。你可以看到uint8字节流产生的数据包结构在显示编码数据
块。
RX1引脚接收uint8字节流解码使用协议解码器
块并显示在显示解码数据
块。请观察显示解码数据
块中的值将与常数
在传输端阻塞。尝试在常数
块,观察显示块的变化。
3.断开RX1引脚上的电线。显示解码数据
现在输出块0
.的值0
在显示IsNew
块表示在给定的时间步长没有接收到新的数据。如果再次重新连接,可以看到显示解码数据
块恢复。
4.要停止运行模型,请单击stop。
在Connected I/O中成功模拟模型后,在External模式中模拟模型。与Connected I/O不同,模型是作为C代码部署在硬件上的。代码从硬件获取实时数据。
停止时间(在模拟选项卡)已经被设置为正
.
1.当应用程序在目标硬件上运行时,要在此模型中优化参数和监视信号硬件选项卡,模式部分中,选择机上运行然后点击监视和优化.
当Simulink在硬件上准备、下载和运行模型时,模型窗口的左下角显示状态。金宝app
2.要停止运行模型,请单击stop。
尝试使用块属性指定不同的包结构,并观察编码数据和解码数据显示
块。