作者:我家的表妹 | 来源:互联网 | 2023-10-12 13:36
我们首先这个是要提几点要求:Simulink与开发板之间要实时通讯Simulink能实时发送数据给开发板,并能更改数据这个是我们先来看一下整个模型我们就之前没有讲过的,这里讲一下怎
我们首先这个是要提几点要求:
- Simulink与开发板之间要实时通讯
- Simulink能实时发送数据给开发板,并能更改数据
这个是我们先来看一下整个模型
我们就之前没有讲过的,这里讲一下怎么运用,
串口通讯模块记得Sample time要设置0.01s
在做串口接受跟发送一起的时候,我们一定要选Non-Blocking,选了以后就会出现一个READY的触发端口,只有在接受数据以后才会更新数据,程序就不会卡在等待接受数据;
有了READY的触发信号,我们需要一个Enable的控制信号来配合
其实In模块跟Out模块使用起来也是有技巧的,下面以out为例来讲一下
如上面这样设置的话,就是没有触发信号过来的时候输出敬爱能够保持上一个数据值
如果像上面这样设置,那么没有触发的时候就输出Initial output值,像上面就是输出0;
下面为Simulink上位机的搭建
首先我们把下图的三个模块拖到新建的模型中
下面为各个模块的设置
Port 只要你插上去USB串口模块你就会看到对应的COM口了
Port 依然选择对应的COM口就行了,Transfer 依然是选择Non-Blocking,记得数据包的头尾要跟发送过来的要一样,不然没法接受,选择的数据类型也是需要跟发送过来的一样,最后设置Sample time:0.01
设置Enable模块搭配READY的触发信号
串口发送模块的设置:Port根据实际选择对应的COM口,数据包的头尾核心板接受那边对应上去;数据类型也要对应上去;
最后我们看一下实际的运行结果:
发送的数据准确无误,接受的数据也没有差错,那么Simulink与开发板之间的通讯是非常成功的。
在后面的实验我们将教大家如何利用采集回来的数据,在Simulink中提前做好仿真,提前完善好算法,加快设计进度;
本节所需的全部文件代码如下,请自行下载:
链接:https://pan.baidu.com/s/10C9xdvA-wAwmDGp5ifVVpg
提取码:iqw1
如有疑问请留言