当前位置:网站首页>【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
边栏推荐
- EMC-电路保护器件-防浪涌及冲击电流用
- 新版Free手机、PC、平板、笔记本四端网站缩略展示图在线一键生成网站源码
- How can I know if I want to get the preferential link of stock account opening? Is it safe to open an account online?
- Keras机器翻译实战
- 运放-滞回(迟滞)比较器全流程实战计算
- leetcode刷题:二叉树01(二叉树的前序遍历)
- What did you learn about cheating after you went to college?
- Test of NSI script
- 合成大西瓜小游戏微信小程序源码/微信游戏小程序源码
- Past and present life of product modular design
猜你喜欢
《軟件工程導論(第六版)》 張海藩 複習筆記
升级版手机检测微信工具小程序源码-支持多种流量主模式
Comprehensive evaluation and detailed inventory of high-quality note taking software (I) note, obsedian, remnote, flowus
芭比Q了!新上架的游戏APP,咋分析?
leetcode刷题:栈与队列05(逆波兰表达式求值)
Target detection - Yolo series
杰理之蓝牙耳机品控和生产技巧【篇】
杰理之烧录上层版物料需要【篇】
leetcode刷题:栈与队列04(删除字符串中的所有相邻重复项)
On the next generation entrance of the metauniverse -- the implementation of brain computer interface
随机推荐
收藏:存储知识全面总结
Items in richview documents
杰理之关于长按开机检测抬起问题【篇】
ngnix基础知识
宅男壁纸大全微信小程序源码-带动态壁纸支持多种流量主
Uniapp uses Tencent map to select points without window monitoring to return users' location information. How to deal with it
Optimization of the problem that the request flow fails to terminate during page switching of easycvr cluster video Plaza
考虑关系的图卷积神经网络R-GCN的一些理解以及DGL官方代码的一些讲解
Kuberntes云原生实战一 高可用部署架构
[multithreading] realize the singleton mode (hungry and lazy) realize the thread safe singleton mode (double validation lock)
EDA工具对芯片产业的重要性知识科普
Internship: gradually moving towards project development
深度学习 神经网络基础
Détection des cibles - série Yolo
What did you learn about cheating after you went to college?
Penetration tools - trustedsec's penetration testing framework (PTF)
2022安全员-A证考题及在线模拟考试
RichView 文档中的 ITEM
王者战力查询改名工具箱小程序源码-带流量主激励广告
强大的万年历微信小程序源码-支持多做流量主模式