STMCU小助手
发布时间:2022-3-24 23:00
|
前言% k' x: _$ b" E& U- X* l: c 在配置好CubeMX之后,就是新建工程的开始了,那么首先我们需要一些准备,本片博客我们会很详细的介绍STM32CubeMx的基本使用和如何创建一个新的工程并且点亮LED灯 面向初学者 如果您想着快速实现工程的创建,可以直接跳过功能介绍,观看工程创建一栏 5 @% M0 h' A+ G 并且,在新建工程时,我们分为了具体流程1~7 如果您不想看每部分的讲解,直接按照流程操作即可,5分钟即可成功点亮LED灯, c' }0 H4 I4 z 6 ^. o+ D g" I$ }( I9 }( q 安装STM32CubeMx请参看《STM32 CubeMx使用教程一--安装教程》 7 B& {* v9 K* G: h 前期准备:' s: m! _7 L8 V" {, b6 H' g 5 f' E$ @. e s 1、STM32硬件(我的是STM32F407ZE和STM32F103ZE)* r0 k, g& M9 m 2 I! A* c" a" E! }& W& m) A4 \! M 2、STM32CubeMx软件、 IDE Keil(MDK-ARM)软件7 E! {6 }0 B1 ]. o+ k7 p4 g( _$ y 3、STM32F4xxHAL库 4 u, m2 a+ a6 o& ` 新建工程& x5 l+ x* o1 d$ B" ^% m$ V 1在主界面选择File-->New Project 或者直接点击ACCEE TO MCU SELECTOR 1 j- K3 K$ s$ m( T& H& ~
$ O1 N" P, W( \' O3 o" S; O 出现芯片型号选择 一般我们直接搜索自己芯片的型号即可 : D; I$ y: T0 b' F o2 B# ?( G" m& O4 \ 如果你是设计产品想要选择一款芯片 在搜索栏的下面,提供的各种查找方式,可以选择芯片内核,型号,等等,帮助你找到适合的芯片, }' P2 C6 A/ \0 _ 具体流程1:* \ G4 w9 g( }8 E n 1 搜索芯片型号$ B# w( D1 ~5 @. Z* C0 p 2选择芯片 3创建工程- _: V! S4 ?; x5 a5 ~$ X 那么接下来就是我们整个流程的重头戏了
8 V' t! [9 e) |! c 这里我们分成三大块来讲解) J" h) h6 I+ T7 L 9 M" L# U/ S6 q 1MCU外设资源选择 3 B0 J" o2 {/ x |, r5 S 在这里可以选择MCU的各种资源和外设* z6 K ^+ c# e' y 提供两种方式
Categories 种类选择5 V% R4 B' y, _5 f4 O; d 将MCU的各种外设和资源分类,供用户选择使用$ h0 c1 Q8 t& q R, E+ \% ^ % s8 o# ~# S6 a1 B4 x& V& X A-Z 顺序选择0 Y9 O7 c& L/ {1 m3 D MCU的外设资源按A-Z 排序,供用户选择使用1 s) n( m) f) [ , l2 m- s6 z4 d5 v, }* J+ D 2外设配置 : @& T7 F1 P2 v5 O/ X& r3 e 这里可以设置你所选择外设的各种功能9 `( f8 f0 \ O N3 B+ ^3 i6 V, [ 这里以串口1为例 我们可以选择串口的模式(异步,同步,半双工) 串口接收中断,和串口DMA传输等等 8 l0 {3 U0 G8 F7 Z
和我们配置库函数的时候基本一样,但是 STM32CubeMx将这些转换为了图形和选项 ,我们配置的时候不用再去配置各种东西,只需要傻瓜式操作便可以配置我们需要的外设 这便是CubeMx的核心所在 , R8 S8 f. f4 g; x2 D 3预览界面5 Y( L" y% r9 v" p. E 6 ]6 N9 G! X; K! v [attachimg]48**[/attachimg]9 j, L. `3 C0 N! `0 s 这里分为引脚预览 和系统预览/ S7 Z' r) g T: ?$ a" [' @9 A4 j $ X8 I) c+ ^: k0 J9 a+ z* ?* j 引脚预览就是可以查看那个引脚配置了什么功能,和各个引脚位置 随便点击一个引脚,即可设置该引脚的各种功能0 ~/ t4 ^; J z. d2 ` ) |7 w% W6 }1 I5 e. s
. _6 T" t5 _: t' h: s# i
/ K& d3 x7 x$ ]. K
# f- W4 R5 j0 g 系统预览/ S6 C2 s4 u* z Q2 D) R 系统预览就是查看配置的各种外设和GPIO的状态
! {0 G; `# w9 B
具体各个功能的配置(UATR/DMA/ADC/TIM...)我们再接下来的文章会一一讲解,这里就不再过多介绍了 具体流程2: 这里只需要把我们的LED对应引脚设置为GPIO_Output即可3 G: h( F' E/ q+ y. C 5 b* Z7 u+ i2 n5 S
7 e% B1 ]) L; L 2时钟源设置6 |! i% N! s* Y7 y: T% O & h6 y, ^- M; b9 _! F
其实也就是32的时钟树框图让你配置 默认时钟是使用内部RC振荡器(HSI) / K5 r' t/ X1 ] 如果不懂的话请看《【STM32】系统时钟RCC详解(超详细,超全面)》 % k+ i/ \1 n' u( J 具体流程3: D. Y( l/ _+ K5 P: b( U 或者先按照图中方式配置为72MHz即可 需要配置RCC才能够使用外部时钟源" I Y. z8 s0 {, {# \6 V ( j8 H: E: Q; x. D( r
" c: |( {+ Z5 M7 h! W9 w8 n, k 3.工程管理: G# G2 W8 n G6 @3 E4 j C9 M! F 设置完MCU的各个配置之后,第三个就是工程文件的设置了9 `# Q+ x. \) {! E$ V. J9 O
( Q& c% G4 J6 t1 J) a: S' i- W- h 具体流程4:) J4 [* u" R6 k4 V% V 这里就是工程的各种配置 我们只用到有限几个,其他的默认即可 IDE我们使用的是 MDK5 存储目录不可以有中文0 y% ?# u8 [" V: w6 S 然后点击Code Generator,进行进一步配置 (重点) ) r& b+ X3 g5 b. D1 c! h
' E0 b6 i1 \) i I% |# J* \) } 将HAL库的所有.C和.H都复制到所建工程中 8 F" o# B' V m 优点:这样如果后续需要新增其他外设又可能不再用STM32CubeMX的时候便会很方便2 A% w; {) W- `1 q' x7 S8 C 缺点: 体积大,编译时间长(很长)8 L- W( A. ]3 J6 @1 U" W ]
) k( d8 j2 n) L3 O/ l 只复制所需要的.C和.H (推荐)7 ]5 \" `1 T' j" V% O 优点:体积相对小,编译时间短,并且工程可复制拷贝3 ?, m7 s9 I, Q& X' T$ ` 2 g$ N' d, ]7 [, c. E 缺点: 新增外设时需要重新用STM32CubeMX导入
/ ^' D4 Z! Y& C1 w4 ?* I7 z" \ 不复制文件,直接从软件包存放位置导入.C和.H 5 o1 h1 [2 X8 a: o 优点:体积小,比较节约硬盘空间9 N0 \ s5 ?3 J 缺点: 复制到其他电脑上或者软件包位置改变,就需要修改相对应的路径 自行选择方式即可 具体流程5:! [9 `9 Z3 v6 [) L - b1 A9 }" f; u; `: K* ~- o 然后点击GENERATE CODE 创建工程
6 K5 s: g( i* C, G# w5 B, P 创建成功,打开工程 L1 i# h+ s9 N$ @7 n2 k3 t0 ?0 ` $ s+ Q7 @7 ?( b. M, i4 ~
: U7 Y T( x: _! j, | 具体流程6:while循环添加下面两行代码即可6 n9 k0 [: p/ B4 s) X1 K( d$ i) Y
8 K k5 I9 W- Z: {
![]() / E7 ?9 h, E8 h+ X+ H: {0 y 配置下载工具 具体流程7:% h2 |8 z( y; o( J 新建的工程所有配置都是默认的 我们需要自行选择下载模式,勾选上下载后复位运行
所有自己编写的代码请放在/* USER CODE BEGIN XXX */ /* USER CODE END XXX */之间 9 H" q- v3 V" P# t 这样我们修改工程的时候你自己写的代码就不会被删除 / x, R' \: j+ M
5 [- {2 {! p" ? 到此,STM32CubeMX的基本使用介绍完了 ,接下来会更新CubeMX和HAL库配置STM32的UART ADC DMA 定时器 PWM 等等 & x8 M0 P& h5 B& u l& v, C1 _# Q |
【经验分享】STM32语音识别的智能蓝牙音箱(源程序+原理图+PCB+设计说明书+PPT)
想找个ST芯片
[GPIO] 使用新型抽象开始C++嵌入式编程,从GPIO开始
技术手册stm32f1xx中的一个小问题
【经验分享】STM32 HAL库移植FreeModbus详细步骤
【逢7发帖赢大礼】STM32开发之IC门禁卡UID读取方法!
实战经验 | Keil工程使用NEAI库的异常问题
经验分享 | FDCAN数据段波特率增加后发送失败的问题分析
STM32几种流行开发环境的优缺点
好用软件推荐-TouchGFX Designer
微信公众号
手机版