前面的博客中,提到如果想将Simulink仿真推进至硬件实验,需要将积木式的仿真搭建,变换成C语言实现,那么如何在Simulink中验证C代码的正确性呢?我将一边学习,一边更新,一边比较不同方法实现C语言,希望对大家有所帮助!
MATLAB版本为MATLAB 2024b
首先,新建Simulink仿真,双击Simulink画布,搜索“C Function”。可以看到这个功能是调用C代码。
添加C Function
右键模块 选择“帮助”,先了解一下C Function模块
通过C Fuction实现比例运算功能
双击C Function 模块在端口和参数处定义端口和变量
定义输入In,作用域为Input,类型为single,对应单精度浮点数float。
定义输出Out,作用域为Output,类型为single,对应单精度浮点数float。
定义参数kp,作用域为kp,类型为single,对应单精度浮点数float。
在“输出”栏里填入比例运算代码,将输入乘以kp倍并输出。点击“确定”。
这里可以将采样时间设置为1/10e3,模拟10kHz的采样率。
双击“C Function”模块,设置参数kp为2
将C Function的输入设置为一个斜坡信号Ramp,观察仿真结果。
从示波器可以看出,比例运算起作用,输出为输入的两倍。
以上便完成了在Simulink中使用C语言的初步尝试。希望对你有所帮助,我是ManTou~!