用过stm32单片机的朋友应该知道,如果对于一个新手来说,配置一个stm32的开发环境就的花上好长时间  而且开发过程中很多时候我们的代码都是在配置端口 像最简单的GPIO的配置  也需要定义结构体 如果C语言不过关的新手 学起来会更加的困难

后来st公司开发了stm32cubemx这个软件来帮助我们完成这些端口的初始化配置  我们可以通过图新界面 配置选择的每一个端口的作用 之后便可以生成对应的工程文件  为我们节省了很多的时间  但是之后的代码还需要自己手动书写找错   我们把实际用途转化为代码还是需要一定的时间 学过simulink的朋友 应该知道它具有非常强大的自动代码生成功能  结合上面这些 本次我用simulink和stm32cubemx结合keil5来开发stm单片机 本次我选择了st官方的stm32f429discovery 开发板来简单的控制板上的两个led灯 具体过程如下  用到的软件如下

链接:http://pan.baidu.com/s/1dFITUtN 密码:tt47

首先打开stm32cubemx   新建工程 选择正确的cpu型号 之后双击确定 选择正确的端口 之后对端口进行配置(板上为PG13和PG14均设置为Output)并都设置为上拉  之后project  ->generate code->选择合适的路径(尽量不包括空格和中文)选择合适的工程名->Toolchain选择MDK-ARM V5确定即可

之后打开MATLAB进行stm32mat_target的安装   并把安装路径包含到matlab的搜索路径之下   之后打开simulink新建model  点击library 刷新一下 会看见下边出现了Target  support package 的库表示安装成功 之后我们便可以 开始用simulink开发 stm32(有没有很激动微笑) 不过先不要急我们打开参数设置  在code generation 将右边的system target file 设置为stm32.tcl 之后点击stm32 options勾选stm32cubemx path update 之后点击update installed path 稍等 simulink会自动搜索stm32cubemx的安装路径并加入

最终结果如下

现在我们就完成了参数的配置之后便可以构建模型了  在library刚安装的package中选MCU CONFIG将右侧的模块拖入model  双击之后点击select stm32 configuration file

选择刚才stm32cubemx配置好的输入文件之后确定  将package中的GPIO write模块拖入model 双击之后选择GPIO13,再拖一个选择GPIO14  之后在sources中选择pulse generator 双击设置方波的频率和占空比 为每一个GPIO write加一个 最终结果如下

至此我们的模型搭建完成 生成代码之前 我们现将MATLAB的工作路径设到刚才stm32cubemx生成的工程文件夹下 点击build model 之后就会自动生成工程文件 (可能会比较慢),对于首次生成的 可能会不成功 需要先点击code->c/c++ code->Embedeed   之后一路next最后会生成c代码但是还需将c文件手动移植  还是比较麻烦 所以建议首次生成代码之后再点击build model  sinulink会自动将文件加入工程文件 并特欢main.c文件 即可一次性生成工程代码 最后便生成了keil MDK5可以打开的文件 (需要先安装MDK5并安装f4对应的库文件 相应的安装包见上述百度网盘)最后点 open project便打开了keil5的工程   如果现在全部编译可能会有问题   由于生成的代码中未定义RT_MODEL_myfirst这个变量 所以我们将main.c文件中的extern RT_MODEL_myfirst *const myfirst_M;这一句注释之后 全部编译之后便可通过编译  最后点击load通过st-link将生成的文件下载到stm32f4中(如果未安装stlink驱动 需要先安装驱动 )最终下载的效果如下  最终开发板复位一下 可以看到板子上的两个LED开始闪烁 视频见链接(大笑有没有很开心)

经过测试该方法同样适用于stm32f1系列 由于本人板子种类有限 其他stm32系列 未加测试 欢迎大家测试

使用MATLABsimulinkstm32mat_targetstm32cubemx开发stm32相关推荐

  1. rust做嵌入式开发_Rust 嵌入式开发 STM32 amp; RISC-V

    Rust 嵌入式开发 STM32 & RISC-V 发布于 2020-04-03 11:07:06 本帖最后由 wuhanstudio 于 2020-4-3 11:58 编辑 更新地址: [m ...

  2. python stm32-尝试一下使用Python来开发STM32

    MicroPython是什么 微信图片_20200508183121.jpg (26.41 KB, 下载次数: 0) 2020-5-8 18:39 上传 程序猿中有句俗语: 人生苦短,我用Python ...

  3. ARM Keil MDK开发STM32工程模板

    使用Keil MDK开发STM32的工程模板 源代码工程 https://github.com/chenhaifeng2016/Band

  4. 使用EmBitz开发STM32项目开发环境配置

     一.EmBitz软件获取与安装 1.EmBitz软件的获取 EmBitz原名Em::Blocks,是基于Code::Blocks开发的,面向嵌入式的C/C++集成开发环境.支持J-Link和ST ...

  5. stm32烧录软件_使用华为LiteOS Studio开发STM32物联网工程1

    本节介绍如何使用HUAWEI LiteOS Studio 开发STM32开发板工程.开源LiteOS工程,支持STM32F429IG.STM32L431RC.STM32F769NI等STM32系列开发 ...

  6. stm32 python界面开发_【STM32开发】使用Qt Creator 开发STM32

    在之前的文章中我们介绍了如何使用VSCode去构建一个STM32的单片机项目,今天我们来说一下使用 Qt Creator 来开发STM32单片机. 0x01: 开发环境准备 PlatformIO Co ...

  7. vscode 暂停运行_用VS Code开发STM32(三)——调试

    2020年7月26日更新: 增加了Jlink GDB Server的支持,可以使用J-Scope 和 SEGGER RTT了. 2020年7月3日更新: 改为了使用Cortex-Debug插件来进行调 ...

  8. 记录一下 开发STM32 USB HID踩过的坑

    记录一下 开发STM32 USB HID踩过的坑 一.前言 二.代码配置 一.前言 MCU: STM32F103C8T6 CubeMX: STM32CubeMX 5.3.0 二.代码配置 引脚配置 时 ...

  9. Vscode开发STM32单片机程序

    STM32单片机非常强大,大多数教程都是使用 keil 编译器,keil 是收费的而 gcc 是开源免费的.这里介绍一些使用 gcc + vscode 开发单片机程序的经验.(这里不解释 gcc 是什 ...

最新文章

  1. 免费直播:1小时带你体验Python车牌识别实战
  2. 李彦宏的百度 AI 落地战略,由王海峰来实现
  3. 如何退出Activity?如何安全退出已调用多个Activity的Application?
  4. 为什么ORM性能比iBATIS好?
  5. 4 微信公众号开发 被动回复消息 回复没有反应怎么办
  6. matlab编写基差,到期交割临近 基差迟迟不跌
  7. 38..Node.js工具模块---底层的网络通信--Net模块
  8. 判断图片文件真实类型---通过文件表头判断。
  9. Nova 操作汇总(限 libvirt 虚机) [Nova Operations Summary]
  10. 分享一下我作为面试官面试了几个java程序员后的感受
  11. java netty rpc框架_Java编写基于netty的RPC框架
  12. 几何画板 html5,几何画板菜单栏
  13. 三分钟看懂什么是运维
  14. 计算机应用后期影音制作,影音制作工具(ImTOO Movie Maker)
  15. Python实用案例,Python脚本,Python实现批量下载百度图片
  16. AMiner推荐论文
  17. 埃拉托色尼筛选法计算素数个数
  18. 通过setTimeout 实现 setInterval
  19. 请简述python数据分析流程_简单案例讲解Python数据分析的基本步骤
  20. Lotus Notes 常见错误

热门文章

  1. python api开发框架_python api框架
  2. RIL层源码分析(原)
  3. 为什么word一页没写完再写就去下一页了
  4. 歌声合成软件UTAU
  5. SQL查询语句练习(二)
  6. 判断A图层完全包含B图层的要素--(1)空间查询之esriSpatialRelEnum.esriSpatialRelContains(包含)
  7. spring占位符无法替换的报错排查
  8. 2021/3/6 OJ每日一题 小媛在努力
  9. 啃完这些资料,我拿到了腾讯,爱奇艺,Kotlin从入门到进阶实战
  10. 低代码助力生产管理:ERP生产管理系统