整体思路
利用simulink设计四则运算仿真模型,借助simulink的代码生成工具生成c语言代码。同时介绍STM32扩展工具的安装,使用。
所需工具
- MATLAB 2018b
- STM32硬件支持工具
下载连接:https://www.stmcu.org.cn/document/detail/index/id-216053
- STM32CUBEMX(用于配置STM32资源)
下载连接:https://www.stmcu.org.cn/document/detail/index/id-214984
2和3仅仅是在生成c语言中作为一个必须辅助的工具,具体详细的用法后续介绍。
操作流程
软件安装
三个软件的安装都没有特殊要求,根据提示即可安装完成。
相关配置
- 配置simulink
打开MATLAB,点击设置路径
![38f56e9fdb5e51978679ccedbd254434.png](https://i-blog.csdnimg.cn/blog_migrate/9e37b3d4fa9456df6c2fbcedbb7af55a.jpeg)
点击添加并包含子文件夹
![9b3bc472d10636842544fcaefd9d4141.png](https://i-blog.csdnimg.cn/blog_migrate/21a3fcf9bf3282235031a14613d32a93.jpeg)
找到STM32硬件支持包的安装路径
![4d5a69de3175223690291c88e6f70e0f.png](https://i-blog.csdnimg.cn/blog_migrate/d5d22468df3c6bf5d55e77576dd541f7.png)
此时所有该文件夹下的子文件夹都已经添加:
![78427b6bbb3219b6ccc68d3dda2ba96b.png](https://i-blog.csdnimg.cn/blog_migrate/63bb329423c85dd45d16221ba6d78b6c.jpeg)
点击保存即可。
之后需要重启一下MATLAB才能正常运行。
- 建立Simulink模型
![1de778c2be1f9f0be1d75e3c4c5d232d.png](https://i-blog.csdnimg.cn/blog_migrate/731495623299cde043d270405c500e6c.png)
![ed2d9cbbda54c142d20462aaf5474eba.png](https://i-blog.csdnimg.cn/blog_migrate/a27fd06921cc993706f4294338de69cf.png)
![6e06095ac7c83e251fd9385de9c2e444.png](https://i-blog.csdnimg.cn/blog_migrate/2d3e97b8378eb0c2230d30c6a02c7744.png)
一个简单的例子,完成四则运算。
- 参数配置
点击设置
![9b6fa3df7beaf045e8e829f2546f9eab.png](https://i-blog.csdnimg.cn/blog_migrate/ddf5d5851dbb5531fd6c8cb1a6b7199f.png)
Code Gengeration
![1ee92dec6a064d2dcc01fbf56bda0565.png](https://i-blog.csdnimg.cn/blog_migrate/533d3e33b73b096c829d40d5d953ee19.jpeg)
在STM32 Option勾选并添加工具路径(STM32CuBeMX路径)
![aea3b3b682f320325c346d45edfc3db9.png](https://i-blog.csdnimg.cn/blog_migrate/b8587bf29ae44ae0e101ecb43cd0a86f.jpeg)
最后点击Apply即可。
- 最后一步,生成代码
![5311576e697470c3aeb235329c989f1b.png](https://i-blog.csdnimg.cn/blog_migrate/2e2926adfcc88b03ab3866fbc4960718.png)
随后可以按照提示进行细化设置。
![8eb8552f67cd5f6cfa3062ec693be85f.png](https://i-blog.csdnimg.cn/blog_migrate/4b1e66daf5d31c1b2d73a506d3e001b7.jpeg)
2.1可以选择对全模型或对某一子系统进行代码生成。基础操作选择全模型为例。
![ee03475bda867343a716e8129c0a4421.png](https://i-blog.csdnimg.cn/blog_migrate/4e057587a91e5465972fca68f29d669a.jpeg)
2.2可选择生成语言,如C/C++。基础操作选择C语言为例
![22164200d31dbbd63f2c3b9a8212272b.png](https://i-blog.csdnimg.cn/blog_migrate/0cd03d96a97cfaa255047a9799ba9195.jpeg)
2.3可选择代码运行平台。基础操作选择Inter,Windows64为平台为例。
![e37e2323c275649b98a182fd71f7e737.png](https://i-blog.csdnimg.cn/blog_migrate/465499c3f10955ee07284b0bf2a8e277.jpeg)
![261b2216a953d906113d6e25f5ec89de.png](https://i-blog.csdnimg.cn/blog_migrate/173e65de6d2316bece2d69be3ebc214e.jpeg)
2.4在代码生成完成后,可查看相关报告。
![9107d5cbe5f8cf2389dd89fcc010ab72.png](https://i-blog.csdnimg.cn/blog_migrate/ebb0659202b15a0e4bc75f4a9c4ebcb3.jpeg)
- 报告内容
![e90d00b909bacb51a24f9fca2bf2fb48.png](https://i-blog.csdnimg.cn/blog_migrate/80ffd8e63f74d2bb454dd1fc8f067733.jpeg)
可在报告内快速浏览代码相关信息,查看完整代码。通过点击超链接注释可以查看对应模块或变量。
![4115fc0c421a84c84bdde869447e6cb5.png](https://i-blog.csdnimg.cn/blog_migrate/d759b52a50b4e7a665d2ef2a95317ca3.png)
![5e21513a6e46478be60503f7a2eb891d.png](https://i-blog.csdnimg.cn/blog_migrate/e958d8240aab4e4fc258152174043cd7.jpeg)
下一篇文章介绍关于变量名称的优化操作。