前言 在配置好CubeMX之后,就是新建工程的开始了,那么首先我们需要一些准备,本片博客我们会很详细的介绍STM32CubeMx的基本使用和如何创建一个新的工程并且点亮LED灯 面向初学者 如果您想着快速实现工程的创建,可以直接跳过功能介绍,观看工程创建一栏 并且,在新建工程时,我们分为了具体流程1~7 如果您不想看每部分的讲解,直接按照流程操作即可,5分钟即可成功点亮LED灯 前期准备: 1、STM32硬件(我的是STM32F407ZE和STM32F103ZE) 2、STM32CubeMx软件、 IDE Keil(MDK-ARM)软件 3、STM32F4xxHAL库 新建工程1在主界面选择File-->New Project 或者直接点击ACCEE TO MCU SELECTOR : g' F1 R v6 j: O% J出现芯片型号选择 一般我们直接搜索自己芯片的型号即可 如果你是设计产品想要选择一款芯片 在搜索栏的下面,提供的各种查找方式,可以选择芯片内核,型号,等等,帮助你找到适合的芯片 具体流程1:
那么接下来就是我们整个流程的重头戏了 这里我们分成三大块来讲解 1MCU外设资源选择 在这里可以选择MCU的各种资源和外设 提供两种方式
将MCU的各种外设和资源分类,供用户选择使用
MCU的外设资源按A-Z 排序,供用户选择使用 2外设配置 这里可以设置你所选择外设的各种功能 这里以串口1为例 我们可以选择串口的模式(异步,同步,半双工) 串口接收中断,和串口DMA传输等等 和我们配置库函数的时候基本一样,但是 STM32CubeMx将这些转换为了图形和选项 ,我们配置的时候不用再去配置各种东西,只需要傻瓜式操作便可以配置我们需要的外设 这便是CubeMx的核心所在 3预览界面 这里分为引脚预览 和系统预览 引脚预览就是可以查看那个引脚配置了什么功能,和各个引脚位置 . f/ ]+ l- c: g' ?1 @, V4 j随便点击一个引脚,即可设置该引脚的各种功能 这种颜色表示不可配置引脚 电源专用引脚以黄色突出显示。其配置不能更改 这种颜色表示你配置了一个I/O口的功能,但是没有初始化相对应的外设功能 引脚处于no mode 状态 2 g" ~) p+ x+ g* G! v2 x. D 绿色表示配置成功 系统预览 系统预览就是查看配置的各种外设和GPIO的状态 表示没有问题 表示警告,对应配置出现问题 点击该选项即可外设配置界面查看 具体各个功能的配置(UATR/DMA/ADC/TIM...)我们再接下来的文章会一一讲解,这里就不再过多介绍了 具体流程2: 这里只需要把我们的LED对应引脚设置为GPIO_Output即可 2时钟源设置其实也就是32的时钟树框图让你配置 默认时钟是使用内部RC振荡器(HSI) 如果不懂的话请看《【STM32】系统时钟RCC详解(超详细,超全面)》 具体流程3: 或者先按照图中方式配置为72MHz即可 " b( ?8 C; k3 b6 }2 s' f
设置完MCU的各个配置之后,第三个就是工程文件的设置了 具体流程4: 这里就是工程的各种配置 我们只用到有限几个,其他的默认即可 IDE我们使用的是 MDK5
然后点击Code Generator,进行进一步配置 (重点) 将HAL库的所有.C和.H都复制到所建工程中 优点:这样如果后续需要新增其他外设又可能不再用STM32CubeMX的时候便会很方便 缺点: 体积大,编译时间长(很长) 只复制所需要的.C和.H (推荐) 优点:体积相对小,编译时间短,并且工程可复制拷贝 缺点: 新增外设时需要重新用STM32CubeMX导入 不复制文件,直接从软件包存放位置导入.C和.H 优点:体积小,比较节约硬盘空间 缺点: 复制到其他电脑上或者软件包位置改变,就需要修改相对应的路径 自行选择方式即可 具体流程5: 然后点击GENERATE CODE 创建工程 创建成功,打开工程 具体流程6:while循环添加下面两行代码即可
配置下载工具 具体流程7: 新建的工程所有配置都是默认的 我们需要自行选择下载模式,勾选上下载后复位运行 所有自己编写的代码请放在/* USER CODE BEGIN XXX */ /* USER CODE END XXX */之间 这样我们修改工程的时候你自己写的代码就不会被删除 8 s7 d1 O( ~4 @8 o7 p9 _2 Z: Z到此,STM32CubeMX的基本使用介绍完了 ,接下来会更新CubeMX和HAL库配置STM32的UART ADC DMA 定时器 PWM 等等 |
【STM32C0测评】外部中断控制小灯
意法半导体最具性价比、速度最快的单核MPU STM32MP13现已支持运行RTOS
【NUCLEO-U083RC评测】移植TouchGFX并实现无接触翻页
[NUCLEO-C031C6评测] 驱动LCD 第三步 显示颜色块
[NUCLEO-C031C6评测] 驱动LCD 第二步 初始化屏幕
[NUCLEO-C031C6评测] 驱动LCD第一步
【STM32MP135-DK】裸机开发
STM32MP135F-DK 开箱&开发环境搭建&硬件设计分析
【STM32U599】4.引入RTC与MVP开发
基于STM32CUBEMX驱动TMOS模块STHS34PF80之获取状态数据(5)
非常好的资料,对初学者很有帮助;/ w `; Q5 w- c: }, ?/ o& e! c
希望楼主多多分享,赠人玫瑰,手有余香,念念不忘,必有回响;.! F0 L+ ~: v- |8 z! u" l
非常好的资料,对初学者很有帮助;8 O( F0 Q, C3 }3 _0 Y+ I8 X( j7 r
希望楼主多多分享,赠人玫瑰,手有余香,念念不忘,必有回响;.