stm32cubemx生成不了keil工程文件_STM32CubeMX系列教程03_创建并生成代码工程
说明:
本文原创作者『strongerHuang』
首发于微信公众号『嵌入式专栏』,同时也更新在我的个人网站:EmbeddedDevelop
标签:STM32、 STM32CubeMX、 LL库、 HAL库
一、写在前面
本文面向初学者,使用STM32CubeMX一步一步配置一个可直接编译下载,并成功运行的代码。
实践操作成功之后有了成就感,大家才会更加有信心继续学习下去。
本文只提供LED闪烁的简单实例讲解,重点是引导初学者入门。
更多实例(如UART、TIM、CAN...)我会单独整理一系列教程,并提供源码分析和下载。
二、准备工作
学习STM32CubeMX进行开发,需要有几样准备工作。
2.1 下载安装STM32CubeMX及HAL库
请参看文章《STM32CubeMX系列教程02_STM32CubeMX工具、HAL库下载、安装说明》
提示:下载安装MCU对应的HAL库就行。 比如:你开发板MCU是STM32F1系列,对应的STM32Cube_FW_F1就行。
2.2 下载安装IDE
推荐使用大众化的MDK-ARM这款集成开发环境(IDE)。当然,还支持EWARM、 TureSTUDIO、 SW4STM32等集成开发环境。
请参看文章:Keil系列教程
2.3 准备硬件
学习STM32CubeMX,建议大家买一块开发板。某宝上面很多,根据自己经济能力,贵一点,便宜一点都行。以及准备一个ST-Link下载器。
推荐阅读:ST-Link资料
三、创建工程
接下来从选择自己型号MCU,到生成代码并成功运行的创建过程。
1.打开STM32CubeMX,进入MCU选择器
进入选择器时会联网更新数据库,可能需要等待一下。
2.选择对应型号MCU
3.时钟源选择
如果选择使用外部高速时钟(HSE),则需要在System Core中配置RCC(如下图)。如果使用默认内部时钟(HSI),这一步可以略过。
4.选择GPIO(LED)引脚
我们这里使用一个GPIO引脚(PF8)控制LED亮灭。
5.配置时钟Clock
STM32CubeMX配置时钟的界面非常方便,有很多提示(比如最大时钟),很多地方直接点击选择就行了。
默认高速时钟是使用内部(HSI),而且CPU时钟配置的比较低。以我选择的STM32F103,外部8M晶振为例(如下图)。
6.工程管理
工程管理器的内容比较多,大部分都默认即可,这里讲述几个要点(如下图),更多选项后期详细讲述。
IDE有几种,如果你不用MDK-ARM,也可选择其他IDE。
7.生成代码
以上操作就基本配置完成了一个简单的Demo工程,只需要点击“生成代码”即可。
8.添加代码
当然,以上生成的代码还不够完善,需要添加自己的应用代码。
添加如上图这样一段代码,你开发板上LED就会间隔500ms变化一次(呈现闪烁状态)。
添加应用代码:
HAL_Delay(500);
HAL_GPIO_TogglePin(GPIOF, GPIO_PIN_8);
提示: 1.延时500ms时间需要你时钟配置正确。
2.LED对应引脚需要与你开发实际一致(本文以PF8为例)。
3.生成的MDK-ARM工程,编译下载之后,默认是不会运行代码,需要重新复位一次才能运行,或你自己配置一下(如下图)。
好啦,本文就讲到这里,是不是很简单?请根据自己开发板MCU型号,自己动手实践一下。
四、说明
1.该文档仅供个人学习使用,版权所有,禁止商用。
2.本文由我一个人编辑并整理,难免存在一些错误。
3.为了方便大家平时公交、地铁、外出办事也能用手机随时随地查看该教程,该教程同步更新于微信公众号『嵌入式专栏』,关注微信公众号回复【STM32CubeMX系列教程】即可查看全系列教程。
五、最后
我的博客:http://www.strongerhuang.com
我的GitHub:https://github.com/EmbeddedDevelop
我的微信公众号(ID:strongerHuang)还在分享STM8、STM32、Keil、IAR、FreeRTOS、UCOS、RT-Thread、CANOpen、Modbus...等更多精彩内容,如果想查看更多内容,可以关注我的微信公众号『strongerHuang』。
stm32cubemx生成不了keil工程文件_STM32CubeMX系列教程03_创建并生成代码工程相关推荐
- 关于STM32CubeMX生成不了Keil代码的解决办法
关于STM32CubeMX生成Keil代码时弹出but MDK-ARM project generation have a problem的问题 有两种可能: 1.输出路径或文件名包含中文 2.Jav ...
- Keil(MDK-ARM-STM32)系列教程(四)工程目标选项配置(Ⅱ)
Ⅰ.写在前面 本文接着上一篇文章"工程目标选项配置(Ⅰ)"进行讲述工程目标选项中后五项的配置,也就是C/C++.Asm.Linker.Debug.Utilities这五项配置的具体 ...
- STM32L051测试 (一、使用CubeMX生成工程文件 — ST系列芯片通用)
本文也适合STM32CubeMX 支持的所有芯片的设置 ..调整文章结构,添加图文说明 2022.2 ..增加其他应用章节,增加 ADC 设置说明 2023.3 CubeMX生成工程步骤 前言 一.时 ...
- Keil(MDK-ARM-STM32)系列教程(八)在线调试(Ⅰ)
Ⅰ.写在前面 Keil在线调试的内容有很多,本文带来在线调试常用的内容:Debug Toolbar调试工具栏(复位.全速运行.停止运行.单步调试.逐行调试.跳出调试.运行到光标行.跳转到暂停行.调试窗 ...
- Keil(MDK-ARM-STM32)系列教程(七)菜单
Ⅰ.写在前面 本文带来关于Keil软件菜单的内容,系列教程中前面讲述的内容都可以通过菜单而找到,只是大部分内容都可以通过快捷按钮或快捷键找到,该文就讲述主菜单里每一个子菜单的内容. Keil有些菜单在 ...
- Keil(MDK-ARM-STM32)系列教程(六)Configuration(Ⅱ)
Ⅰ.写在前面 本文接着上一篇文章"Configuration(Ⅰ)"进行讲述Configuration后面三项Shortcut Keys快捷键.Text Completion代码完 ...
- Keil(MDK-ARM)系列教程(八)_在线调试(Ⅰ)
推荐 分享一个大神的人工智能教程.零基础!通俗易懂!风趣幽默!还带黄段子!希望你也加入到人工智能的队伍中来!http://www.captainbed.net/strongerhuang 我的网站:h ...
- Keil(MDK-ARM)系列教程(七)_菜单
推荐 分享一个大神的人工智能教程.零基础!通俗易懂!风趣幽默!还带黄段子!希望你也加入到人工智能的队伍中来!http://www.captainbed.net/strongerhuang 我的网站:h ...
- EWSTM8系列教程03_主窗口、工具栏的概述
IAR最新全套教程: 1.EWSTM8系列教程01_IAR介绍.下载.安装和注册 2.EWSTM8系列教程02_新建基础软件工程 3.EWSTM8系列教程03_主窗口.工具栏的概述 4.EWSTM8系 ...
最新文章
- 阅读10、11、12章
- 小程序picker_小程序·云开发实战 - 迷你微博
- 发现一个可以搜索常用rpm包的地址(http://www.rpmfind.net/)
- Linux常用命令汇总-cut
- 2014年全国计算机等级一级考试复习资料,2014年全国计算机等级一级考试复习资料..doc...
- 请别再拿“String s = new String(xyz);创建了多少个String实例”来面试了吧---转
- 设置打包方式为war
- python中的常见的列表操作及注意事项
- yb3防爆电机型号含义_YBK3防爆电机介绍
- log4j实现日志脱敏
- 西门子200PLC指令详解——比较指令
- 摄氏度与华氏度之间的转换
- 各种国内地图坐标系总结
- android高德地图获取海拔_高德地图如何测海拔
- 微信小程序通过BLE低功耗蓝牙向USB HID键盘设备输出汉字(内含GBK编码转汉字)
- TarsGo 性能提升之路
- 【Linux】解压缩命令
- DuerOS业绩亮眼,如何成为了百度财报新增长点?
- 调用新浪微博客户端发送图片
- unity三维地图的经纬度如何在二维地图上表示_三维GIS与游戏引擎的跨界融合,打造数字化孪生的平行世界...