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波

 

 

  • 1
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值