你的浏览器版本过低,可能导致网站不能正常访问!
为了你能正常使用网站功能,请使用这些浏览器。

【实测教程】STM32CubeMX-STM32L4之(GPIO输入)按键输入控制LED灯反转

[复制链接]
STMCU小助手 发布时间:2023-1-15 00:07
一、开发板平台简介:
$ ^& T1 t3 {& W1 U$ `(1)开发板主芯片型号:STM32L431RCT6
- I* R# N! |0 k) L# F6 n2 l/ p(2)开发板主芯片封装:LQFP-64_10x10x05P
3 x- q% c  C' p1 }. y(3)开发板主芯片内核:ARM® Cortex®-M46 U% L: m8 y- o% h6 Z! M! a8 p4 a
(4)开发板主芯片主频:80MHz
7 i' `' [# F! R. j: D(5)开发板主芯片Flash大小:256KB
, E- M& C/ K1 P9 X/ c0 X/ {, V) p(6)开发板主芯片RAM大小:64KB
, T8 e) N2 o( m8 x. ^(7)其他外设:请参考芯片手册, ~- M8 }4 u8 j& [  V& C

/ ]) u  V6 Q" i) Z0 s# r
bb91345227434ee7a43a34bf3fe366e6.png , v% ~9 b' ?8 r2 L% `
2 ^5 o7 ]. M: S$ [; N  f
929c0cce04aa4115a8623703982bf3e1.png + Y3 k8 X& u0 H5 M, e* s
: S% R- k# Q/ q/ Q0 w. v
二、新建工程
! v% h$ W  Q. [! {4 e, H" U1、新建STM32CubeMX基础工程
8 j8 z) h1 U9 L$ n! L
(1)打开STM32CubeMX,点击“File”-->"New Project"* A( M0 A! U" j2 K

3 O! _' D( R0 N/ G
2399170347904e959c855fefd5877f84.png 6 l: W' i5 X# B2 q  o) I

  o+ u6 l8 z% y% Z) D9 r(2)等待打开主芯片选项界面(大约1分钟时间)。
4 N7 L6 v  e7 G  Q. l6 d. ~( Z$ h( i0 D" t$ c- u; ]3 e; r
d74d2fdc60c9440483e2b7cf8d928e7f.png 8 `- z' d- A3 w
1 z, u; F1 l& W: u  Z% P
(3)昨天搜索框中输入(或选择)所需的主芯片型号(因为我们用的是STM32L431RCT6开发板,所以此处现在STM32L431RC),然后在右下角选择STM32L431RCTx(因为开发板主芯片是STM32L431RCT6),左键双击即可打开新建的项目。
4 s( |) H3 M1 y1 d4 R& l6 r! |4 d: M$ E& l3 Z  m. }
7b80345238d74bea82ce70e1a348f7b4.png
9 c8 M) `) S: x7 z
4 K3 l" ^- |9 X- o(4)选择时钟源。; Y+ H  n& L% w- B" k# U
(1)因为开发板上有8M外部时钟,此处选择外部高速时钟(HSE)。
* u0 }4 Q4 [% {0 p- q* W5 K(2)因为我们没有用到外部低速时钟(LSE),此处不做处理。) k2 u! p6 w  T5 s

8 c/ M1 b5 ^, P2 [5 L8 R: j. ^( v5 Z
72119b971f62410fa8344f7f9fb9f389.png - z" O% s2 K' }. {

1 L& z& r- U% k; P2、配置GPIO控制LED
: q* u! L* ]4 X! `& F6 i4 B(1)查STM32L431RCT6开发板原理图得LED1控制引脚为PC0,则配置GPIO的引脚PC0。! l( Y6 j. r" y, J# \4 }
鼠标左键点击PC0,选择“GPIO_Output”,表示设置该引脚为输出模式。
' S+ M3 H( s+ ^$ m. J: l, E* H4 h7 E% j' ^9 V
492907c1e71149819adbaee4516a2af4.png
+ X( e) I  M5 E$ j. {. h% z# }' z5 n& v+ ?7 B: D
(2)根据自己的需求配置GPIO的参数,如输出方式、输出频率、上拉下拉等。因为GPIO控制LED的要求比较低,此处采用默认参数即可,不用修改。+ {7 V4 h, k0 w
+ n; Q4 a2 Z& e4 W( o
38ff4b80e1c5495ba3076a5158fd91fa.png
" |  @; }7 R& P& I

$ D! _+ N- A% g0 T3、配置GPIO读取按键KEY输入

) b* |6 |# s% B  ^6 |0 ?" \3 P/ m(1)查STM32L431RCT6开发板原理图得按键K1输入引脚为PA0,则配置GPIO的引脚PA0。
* v; T* z9 S$ j9 z% e鼠标左键点击PA0,选择“GPIO_Input”,表示设置该引脚为输入模式。6 C9 @: x2 }0 a  e

6 Z( f- C5 U8 C: F6 D
b93c885fa440486bbff1a8376c8cffc6.png
" l: Z/ l6 |5 e( A3 Q9 M7 e! E5 a2 H- }, Q
(2)根据自己的需求配置GPIO的参数,此处修改输入模式为Pull up(上拉输入)。" s# j! `2 @8 M3 _! K) `! V4 F0 ]8 p
备注:输入模式分为三种:Pull up(上拉)、Pull Down(下拉),Float(浮空)- V( }. E# s! O; V# T

/ j  E1 n% y4 _# @# H, Y9 a
f4e6e85f697f4679aa2fb02ca9ea9c5e.png
( \  ~* M1 e+ {; _' v4 w$ q

' }+ R4 r" U- R! k1 v9 n 4、配置项目工程参数2 p, H0 R4 y2 Y( y5 u( ^5 m
(1)配置时钟树,用于系统内部时钟,以及各个外设时钟等。此处选择外部8M晶振作为主时钟频率,内部最大倍频80MHz。+ I2 b# z0 t  S2 }
3 `4 e4 W$ e& Q/ G1 O8 h* U0 s" O
2ce1933c10484d819234682f4abc0228.png
8 m; ^  ]6 k: B0 h" P( @& [% D9 T" \0 V2 k9 v5 s1 |2 C, T
(2)完成配置工程,并生成代码。
; b4 n. I: B$ w; ?
, u' s- Z1 K  Y% F+ q4 y% K
efdb616174f54925b6eac31109f227b5.png # F" b- w. A5 s& z/ F- R( a

6 S; ?6 P, I* [0 g(3)生成代码。7 D. F3 m- R$ T9 G, W  b
' ~/ r! ?; ?7 x3 i- P$ L
8eaa7d0babea40ee93f158481a6ee471.png
5 N) e/ ^% ]5 }, h" f) g6 x5 W9 q4 |* O3 y) P
三、在KEIL 5中编写代码2 S2 h% f! x0 n7 N. |- j
1、找到刚才新建工程的存储路径,安装项目名称,打开项目工程。
" w2 r" p2 H5 N- I+ w# F8 l3 j+ O7 I4 c3 C8 D! c+ k  P9 H7 c
7c13d48b987a444295903e7ede4e32f1.png ' G' v2 B$ s  l3 T& E$ D. j$ T2 V" ?1 e& P

6 b3 ?4 Q- C% j0 V- ?9 C. }2、添加按键控制LED1灯闪烁的代码,然后编译,确认编译OK(0 errors、0 warnings)。$ W7 U+ }6 ^! x

$ D) @' v% O+ S4 ]3 O备注:用户自己写的代码需要添加到一对《USER CODE BEGIN和USER CODE END》之间,否则在使用STM32CubeMX生成代码时,容易丢失自己的代码。1 r: e, N+ M9 G, u

' }0 U$ z' ]% O- a5 J* D: H% U
7375ae51eb184b40b06a90f83ac10604.png
0 J5 h0 M  c+ q" l9 }/ F% a( M, Z4 |  X0 u. N0 \0 z
3、选择Options for target ...>>Debug>>J-Link/J-JTRACE Cortex,点击Settings>>选择Port(SW),可以看到搜索成功SW Device,表示芯片可用,可以下载。
; E0 T# Z4 y5 [% ]0 C% j& ^2 O/ {2 u& _1 o
edefb6b9a2a14be3b1221ad6d5c7a8a2.png & P. M. G9 d$ ^+ K4 R/ U) G

+ Q8 v: L" Z  ?0 h; G2 o 4、点击Download(或者快捷键F8),即可下载程序。  T( g+ x' }0 R( G/ U8 M
2 R3 G! N4 L( ]
ba221842d5db40808aa129dd83c593d0.png $ h0 F$ q/ x2 x2 J: z9 N

+ ^( w2 |3 o# k! u5、 如果下载程序后,没有看到LED1灯闪烁,可以按下述方式设置一下(Reset and run表示下载后自动复位和重启运行)。或者重新彻底断电再次上电(或按开发板的Reset按键复位MCU即可)。% L  u2 N6 `4 }2 y
# Q+ F8 S4 \3 X9 m: z0 o: ^
9f8aa1a4e8f04041bcf5cb183facd100.png ) T! f5 k3 O. ?4 G) }' M3 [
. S$ l  U  T: _; W3 h/ }5 m  ~
————————————————. Z  E9 |6 f3 Q) s, q* E
版权声明:智能小屋ZYXC
5 c2 y8 O$ m! r; J2 c# k# w, P( Y
6 U/ W, k( ]2 [* I  `
收藏 评论0 发布时间:2023-1-15 00:07

举报

0个回答

所属标签

相似分享

官网相关资源

关于
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
意法半导体官网
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
官方最新发布
STM32N6 AI生态系统
STM32MCU,MPU高性能GUI
ST ACEPACK电源模块
意法半导体生物传感器
STM32Cube扩展软件包
关注我们
st-img 微信公众号
st-img 手机版