SIMULINK-STM32联合开发切入式之点亮LED小灯(亲测可用)
前言
工作需要,使用simulink与STM32联合开发嵌入式,本文主要记录软件环境搭建以及点亮LED
提示:以下是本篇文章正文内容,下面案例可供参考
一、软件环境搭建
这个过程耗费了我大量时间,踩了较多坑,原因在于没有考虑软件间的匹配,导致各软件都能正常运行,联合起来就不工作了。
1.需要的软件
1.SIMULINK(MATLAB2018b) 2.STM32CubeMX(版本为5.6.1) 3.STM32-MAT/TARGET(版本5.6) 4.JAVA环境(版本jdk-8u301,STM32CubeMX运行需要JAVA环境) 躲坑方法:不要使用最新版的STM32CubeMX和JAVA,个人尝试过了,最新版的STM32CubeMX可以支持STM32F1系列芯片,但对F7系列多次尝试都不能正常工作,会卡死在simulink调用STM32CubeMX时,无论你在Ctrl+B之后等多久,都无济于事,只能强行结束任务。还可能存在生成的代码用KEIL5打开后发现main()函数里的while()空空如也,完全没有调用MATLAB模型生成的代码的情况。
具体软件安装方法不再赘述,可参考: 1.《STM32CubeMX 下载及安装教程》 https://blog.csdn.net/Brendon_Tan/article/details/107685563 切记:版本5.6.1 2.《STM32 CubeMx使用教程一–安装教程》 https://blog.csdn.net/qq_45467083/article/details/103836313 3.《simulink自动生成STM32代码详解》 https://blog.csdn.net/qq_39751352/article/details/105860577
二、代码生成
1.STM32CubeMX
1.搜索自己的芯片型号,双击打开  2.设置相关参数        设置好之后,不要生成代码,直接保存工程就行了,接着打开MATLAB里的simulink。
2.SIMULINK设置
设置     
 搭建这样的简单模型:  保存模型后,编译   到现在,simulink编译完成,我的STM32CubeMX不会自动弹出,点开STM32CubeMX,点击GENERATE CODE:  
3.Keil5编译
  可以看到,main函数里已经调用了simulink模型生成的函数。 紧接着就可以吧编译和烧录了。
设置
结果

总结一下:
软件版本匹配很重要,单独使用STM32CubeMX,不使用Simulink编程的话,使用最新版应该是更好一些,但如果使用Simulink生成STM32代码的话,受限于STM32-MAT的原因,对MATLAB、STM32CubeMX以及JAVA版本提出了要求,可能我的方案不是唯一的,但它是亲测可用的一套配置,可正常开发STM32f7系列的芯片,希望对大家的学习有帮助。
|