Simulink 使用C语言发PWM波 (一)
1.在matlab中安装C语言模块mingw
2.在simulink中引用S-Function模块 和S-Function Examples模块
3.使用S-Function Examples模块创建C文件,双击S-Function Examples模块后再选择C-file再选择basic C-Mex
4.将创建的C文件模板另存到仿真文件所在文件夹,并将文件名重命名为工程名称如Boost.c,在S-Function中将名称更改为C文件名如Boost,在C的宏定义中将S_FUNCTION_NAME 后面名称改为文件名
5.在simulink中设置的 model properties中的initfcn中输入mex Boost.c,这样matlab在仿真前会先编译所生产的C文件
6.修改.c文件中的采样时间
7.修改S-Function的输入输出,如果为默认下图形式,并且将输入连接到采样,输出连接到示波器,会发现波形为100K的采样波形,到此就实现了采样保持器
8.使用C发PWM波
a.定义结构体变量Cnt和周期
b.初始化结构体变量,其中400为周期,计算方法为PWM的频率除以采样时间
Prd = Fre/Slample 例程中开关频率为100K(1e-5) 采样时间为2.5e-8
c.添加S-Function输出端口数量,如下改为2可以有两组输出
d.在模块中执行PWM运算,即可在示波器中看到PWM波