当前位置:网站首页>【STM32】STM32CubeMX教程二–基本使用(新建工程点亮LED灯)
【STM32】STM32CubeMX教程二–基本使用(新建工程点亮LED灯)
2022-07-01 20:42:00 【全栈程序员站长】
大家好,又见面了,我是你们的朋友全栈君。
前言
在配置好CubeMX之后,就是新建工程的开始了,那么首先我们需要一些准备,本片博客我们会很详细的介绍STM32CubeMx的基本使用和如何创建一个新的工程并且点亮LED灯 面向初学者 如果您想着快速实现工程的创建,可以直接跳过功能介绍,观看工程创建一栏
并且,在新建工程时,我们分为了具体流程1~7 如果您不想看每部分的讲解,直接按照流程操作即可,5分钟即可成功点亮LED灯
安装STM32CubeMx请参看《STM32 CubeMx使用教程一–安装教程》
前期准备:
1、STM32硬件(我的是STM32F407ZE和STM32F103ZE)
2、STM32CubeMx软件、 IDE Keil(MDK-ARM)软件
3、STM32F4xxHAL库
新建工程
1在主界面选择File–>New Project 或者直接点击ACCEE TO MCU SELECTOR
出现芯片型号选择 一般我们直接搜索自己芯片的型号即可
如果你是设计产品想要选择一款芯片 在搜索栏的下面,提供的各种查找方式,可以选择芯片内核,型号,等等,帮助你找到适合的芯片
具体流程1:
- 1 搜索芯片型号
- 2选择芯片
- 3创建工程
那么接下来就是我们整个流程的重头戏了
这里我们分成三大块来讲解
1MCU外设资源选择
在这里可以选择MCU的各种资源和外设
提供两种方式
- Categories 种类选择
将MCU的各种外设和资源分类,供用户选择使用
- A-Z 顺序选择
MCU的外设资源按A-Z 排序,供用户选择使用
2外设配置
这里可以设置你所选择外设的各种功能
这里以串口1为例 我们可以选择串口的模式(异步,同步,半双工) 串口接收中断,和串口DMA传输等等
和我们配置库函数的时候基本一样,但是 STM32CubeMx将这些转换为了图形和选项 ,我们配置的时候不用再去配置各种东西,只需要傻瓜式操作便可以配置我们需要的外设 这便是CubeMx的核心所在
3预览界面
这里分为引脚预览 和系统预览
引脚预览就是可以查看那个引脚配置了什么功能,和各个引脚位置
随便点击一个引脚,即可设置该引脚的各种功能
这种颜色表示不可配置引脚 电源专用引脚以黄色突出显示。其配置不能更改
这种颜色表示你配置了一个I/O口的功能,但是没有初始化相对应的外设功能 引脚处于no mode 状态
绿色表示配置成功
系统预览
系统预览就是查看配置的各种外设和GPIO的状态
表示没有问题
表示警告,对应配置出现问题 点击该选项即可外设配置界面查看
具体各个功能的配置(UATR/DMA/ADC/TIM…)我们再接下来的文章会一一讲解,这里就不再过多介绍了
具体流程2:
这里只需要把我们的LED对应引脚设置为GPIO_Output即可
2时钟源设置
其实也就是32的时钟树框图让你配置 默认时钟是使用内部RC振荡器(HSI)
如果不懂的话请看《【STM32】系统时钟RCC详解(超详细,超全面)》
具体流程3:
或者先按照图中方式配置为72MHz即可
- 需要配置RCC才能够使用外部时钟源
3.工程管理
设置完MCU的各个配置之后,第三个就是工程文件的设置了
具体流程4:
这里就是工程的各种配置 我们只用到有限几个,其他的默认即可 IDE我们使用的是 MDK5
- 存储目录不可以有中文
然后点击Code Generator,进行进一步配置 (重点)
将HAL库的所有.C和.H都复制到所建工程中
优点:这样如果后续需要新增其他外设又可能不再用STM32CubeMX的时候便会很方便
缺点: 体积大,编译时间长(很长)
只复制所需要的.C和.H (推荐)
优点:体积相对小,编译时间短,并且工程可复制拷贝
缺点: 新增外设时需要重新用STM32CubeMX导入
不复制文件,直接从软件包存放位置导入.C和.H
优点:体积小,比较节约硬盘空间
缺点: 复制到其他电脑上或者软件包位置改变,就需要修改相对应的路径
自行选择方式即可
具体流程5:
然后点击GENERATE CODE 创建工程
创建成功,打开工程
具体流程6:while循环添加下面两行代码即可
HAL_Delay(500);
HAL_GPIO_TogglePin(GPIOE, GPIO_PIN_15);配置下载工具
具体流程7:
新建的工程所有配置都是默认的 我们需要自行选择下载模式,勾选上下载后复位运行
所有自己编写的代码请放在/* USER CODE BEGIN XXX */ /* USER CODE END XXX */之间
这样我们修改工程的时候你自己写的代码就不会被删除
到此,STM32CubeMX的基本使用介绍完了 ,接下来会更新CubeMX和HAL库配置STM32的UART ADC DMA 定时器 PWM 等等
发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/130467.html原文链接:https://javaforall.cn
边栏推荐
- Halcon知识:三维重构的一个尝试
- Exclusive news: Alibaba cloud quietly launched RPA cloud computer and has opened cooperation with many RPA manufacturers
- 目標檢測——Yolo系列
- leetcode刷题:栈与队列01(用栈实现队列)
- Gaussdb (for MySQL):partial result cache, which accelerates the operator by caching intermediate results
- 2022年低压电工考试试题及答案
- 功利点没啥!
- Optimization of the problem that the request flow fails to terminate during page switching of easycvr cluster video Plaza
- PHP 读取ini或env类型配置
- 最近公共祖先(LCA)在线做法
猜你喜欢

2022安全员-B证考试练习题模拟考试平台操作

RichView RichEdit SRichViewEdit PageSize 页面设置与同步

东哥套现,大佬隐退?

Optimization of the problem that the request flow fails to terminate during page switching of easycvr cluster video Plaza

实战项目笔记(一)——虚拟机的创建

leetcode刷题:栈与队列01(用栈实现队列)

Develop those things: easycvr cluster device management page function display optimization

BPR(贝叶斯个性化排序)

2022熔化焊接与热切割上岗证题目模拟考试平台操作

编程英语生词笔记本
随机推荐
Importance of EDA tools to chip industry knowledge popularization
想请教一下,券商选哪个比较好尼?本人小白不懂,现在网上开户安全么?
实战项目笔记(一)——虚拟机的创建
关联线探究,如何连接流程图的两个节点
如何用OpenMesh创建一个四棱锥
Internship: complex JSON format data compilation interface
Richview trvdocparameters page parameter settings
Is it safe to open an account online? Can a novice open a stock trading account.
《軟件工程導論(第六版)》 張海藩 複習筆記
Spark面试题
tensorflow 张量做卷积,输入量与卷积核维度的理解
PHP gets the external chain address of wechat applet and applet store
大厂做狼,小厂做狗?
Penetration tools - trustedsec's penetration testing framework (PTF)
强大的万年历微信小程序源码-支持多做流量主模式
杰理之烧录都使用 VBAT 供电,供电电压 4.2V【篇】
图片拼图微信小程序源码_支持多模板制作和流量主
极客DIY开源方案分享——数字幅频均衡功率放大器设计(实用的嵌入式电子设计作品软硬件综合实践)
目標檢測——Yolo系列
[multithreading] lock strategy