完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
最近发现ST有一个Simulink的库,可以直接在Simulink中配置需要的功能,而底层在CubeMX中直接配置就可以。
对于嵌入式开发的朋友来说,CubeMX应该都不陌生,它解决了繁琐的底层配置过程,虽说我已经感觉省了很多麻烦,但还是会因为功能代码复杂的逻辑和编写过程头疼半天,或者因为某个不知道的函数而百度半天。发现了Simulink的这个作用之后,我简直惊呆了,这对我来说无疑是一个宝藏,于是赶紧开始学习尝试,接下来把整个教程分享给大家,感兴趣的一起来看。 首先我们需要去ST官网下载Simulink相应的库。 直接点击“Get Software”就可以进行下载,在ST官网下载需要注册登陆账号,嫌麻烦的朋友也可以直接去公众号找我要。 下载之后的文件如图,我们先打开Readme来看一看。 直接翻到这里,告诉了我们导入库的方法。 先在MATLAB的命令行中输入 “ pathtool ”,然后选择刚下载的文件夹导入,点击保存。 然后我们在MATLAB中打开Simulink,新建一个空白模型。 然后点击设置按钮 在这里我们需要对生成的代码进行一些设置。 先打开“ Solver ”,将步长改为1/10000. 点击“ Code Generation ”, 点击“ Browse ” 选择“ stm32.tlc ”,点击OK。 在“ Code Generation ”的下拉栏中打开“ STM32 Options ”,勾选“ STM32CubeMx Path update ”,并且点击自动更新路径按钮“ Update installed path” ,点击OK。 这样前期设置工作就已经完成了,接下来先打开CubeMX进行配置。 我这里用的是F1的芯片,虽然官网说只支持F4,但我看着所有应该都支持。 这里想要PC8三秒转换一次高低电平,PD2两秒转换一次高低电平,我们把这两个引脚都设置为输出模式,“GPIO_Output ” 这里设置时钟 使用外部定时器,这里我用的是TIM1. 设置好之后点击生成代码。 完毕之后先不要打开,点击“ Close ”。 这样CubeMX的配置就全部完毕了,我们关掉它再回到Simulink。 打开元件库,会发现有一个STM32的库 点击MUC CONFIG,拖动一个到模型中。 双击进行设置。 点击“ Select STM32 configuration file ”按钮,选择刚才CubeMX中配置好保存的ioc文件。 点击OK 接下来在库中点击GPIO,拖动一个“ GPIO _Write”到模型中。 再复制一个,分别双击进行设置。 分别勾选PC8和PD2,点击OK。如果几个引脚同为一个GPIO,就可以在一个模块中进行设置。 接下来在库中拖动一个矩形波模块,如图进行连接。 接下来设置矩形波参数,一个周期为6,一个周期为4. 之后我们可以先打开示波器看一下两个引脚进来的波形。 示波器显示波形如下。 符合我们的需求。 接下来我们就可以生成代码了,之前记得先把示波器去掉。 直接点击“ Build Mode”按钮。 完成之后我们直接打开代码。 我们打开生成的C文件,将生成的功能函数复制到main.c中mian函数的while中,只有一个函数。 最后编译一下。 我们将代码Debug一下,查看两个引脚输出的信号。 和我们预想的一致,大功告成!大家也可以自己下载到板卡中观察。 从这一个小小的例子中不难发现,将Simulink和CubeMX两个工具结合起来使用无疑减轻了我们很多的工作量,也不需要去思考令人头疼的代码逻辑,利用框图的形式来配置代码,也可以使整个功能逻辑变得清晰起来,而不需要盯着一堆代码去调试,可以说非常方便了! 在官方文档中也有其他模块的使用方法,大家感兴趣的可以自己去看看。 |
|
|
|
只有小组成员才能发言,加入小组>>
调试STM32H750的FMC总线读写PSRAM遇到的问题求解?
1786 浏览 1 评论
X-NUCLEO-IHM08M1板文档中输出电流为15Arms,15Arms是怎么得出来的呢?
1622 浏览 1 评论
1089 浏览 2 评论
STM32F030F4 HSI时钟温度测试过不去是怎么回事?
730 浏览 2 评论
ST25R3916能否对ISO15693的标签芯片进行分区域写密码?
1680 浏览 2 评论
1942浏览 9评论
STM32仿真器是选择ST-LINK还是选择J-LINK?各有什么优势啊?
739浏览 4评论
STM32F0_TIM2输出pwm2后OLED变暗或者系统重启是怎么回事?
576浏览 3评论
598浏览 3评论
stm32cubemx生成mdk-arm v4项目文件无法打开是什么原因导致的?
560浏览 3评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-12-25 13:30 , Processed in 1.021179 second(s), Total 78, Slave 62 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号