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

stm32mp1 Cortex M4开发篇13:扩展板按键外部中断

[复制链接]
STMCU小助手 发布时间:2022-10-1 21:00
1.资源扩展板介绍8 N6 _# \/ P1 m3 t/ c# q* A
1.1硬件介绍

, B" m- @) l7 R1 o* r1 f6 _- v3 W* l9 b& k
e4d70a6ad1a8677a3342fbb951ebf63b.jpg 8 ]% _2 w1 T! p

# t+ h: C6 p" s; z4 Q1.2资源扩展板可开发项目
6 d. E. [+ \0 [3 G/ r
9 L) Q3 h0 Z1 P# i
dde0d217dcb1d3309f0eff7f7f52b395.jpg
' X; B: i) K, d* u6 D" V2 B9 M9 i" ~$ {
2.扩展板按键外部中断* |7 _' |2 A' t
2.1实验原理
( ~( w' F' F2 k4 C
本实验的原理主要是,通过扩展板上按键K1的外部中断方式读取键值即IO口状态,控制LED点亮、熄灭查看实验现象。7 z3 ^% Y3 B) ]: a
7 M1 Y4 w2 l; @: D, d4 w2 \# n
1f7292ea0f53bfdef37ce3984adc28a3.png & C4 t, z6 N: x4 D
. Z, J" W: w2 V0 b6 b, {3 P% |4 b

" w: u/ J. D: h7 @ 1b10868b376dc6c9b8afbd967b747e4d.jpg ( n4 }3 b- J- q/ @
. z4 N  l, r5 |6 v" n, F
5cf6546b7591e1820b974cbb0ad37af1.png
& w" M" b- X  H* n! d* z$ M3 j! c3 j; \& H' g
配置IO口外部中断的步骤:
3 {" E9 e1 x$ Z+ @  X
  y" [: k, t/ S5 o1 v) n( V4 ?使能 IO 口时钟。* s% e9 ^/ W$ F5 u* L) ?" @/ u
初始化 IO 口模式,触发条件。* ]3 C5 O1 |" ~
配置中断优先级( NVIC),并使能中断。
' l2 f) r) b/ f- F) V5 g在中断服务函数中调用外部中断共用入口函数 HAL_GPIO_EXTI_IRQHandler。; f, |! v0 U9 A- n2 b1 L; W
编写外部中断回调函数。
+ A9 i0 h  o3 ]4 I' @: ?& z) y+ x. o( G8 m# u
通过以上几个步骤的设置,我们就可以正常使用外部中断了。9 i2 o* v' e3 N
/ j, U0 P) r& h0 k6 Q" W5 P
2.2实验目的& u, E7 p: ~: T
掌握STM32CubeIDE软件的基本设计流程和设计步骤,能够使用工具进行设计、编程、仿真调试。
' v7 H+ m% `- B1 x, n; _5 e9 {/ R; Y6 O5 q# z( S/ C5 [+ i
学习GPIO口的使用方法,掌握如何利用STM32MP157A芯片的I/O口作为外部中断输入。
) `7 }" Z. n$ i1 s' n% n/ i$ s7 N  Q5 ?$ o# A3 O9 r
2.3实验环境  Y8 s1 B8 L5 [0 p- R- X
FS-MP1A开发平台
: U; _8 J2 ^7 y+ u! U  `: r% Z  Y; f. a
ST-Link仿真器
! ~$ w- ?+ C2 Y  z$ }  ~' X$ `. c  R& a1 }  S& U
STM32CubeIDE开发软件/ G9 [7 q. K. ?+ W9 K6 J& O+ B+ [

! B/ T* r8 {% R: k- w( B2 uPC机 XP、Window7/10 (32/64bit)
5 p/ y6 C1 N6 H. k7 e0 D
& ?: T/ y( ^& f4 b4 }; F& ^' u5 F8 E5 H# d; z: v) C

( z4 K8 z) D  N( v" }) J2.4实验步骤
, g" Q3 y) b  N7 c$ Z
搜索框内搜索扩展板KEY1、KEY2、KEY3对应GPIO引脚PF9、PF8、PF7,分别设置为GPIO_EXTI9、GPIO_EXTI8和GPIO_EXTI7。
4 L6 z. S( B+ C
* n/ U0 K; X" Z; j3 y搜索框内搜索扩展板三个LED对应GPIO引脚PE10、PF10和PE8,左键点击设置为GPIO_output。* o9 l/ _2 r6 D; V3 n# {

4 I) q) c3 z6 m& b5 N- A 2eb50c65d19ec11f64d28720352e7d4d.png
2 O& B) c; ?6 y- l+ \# S5 P
4 {5 C" M) m. W0 g( I, Q* H这里我们需要注意一下,和其他单片机不同,还需要继续设置“ Pin Reservation”给“ Cortex-M4”,否则STM32CubeMX不会生生成GPIO初始化相关代码。具体操作:在刚才选择的引脚上,鼠标右键选择“ Pin Reservation”->“ Cortex-M4”。% a  S1 b# }1 P8 {- C  g5 }

+ ^" M1 t5 t  s) x" d; ]! x4 h 07b2b461fa73b687699135ca8dd9c80b.png
! w5 u1 J0 w* j2 u4 d1 X
: o# Z* l7 ^( z打开GPIO标签,对PF9、PF8和PF7引脚进行配置& F# @; M" I- S7 }' [
2 Z- K9 }# L4 e) T8 F) l" ~
425ca6c88356e144f50ebb8998a28188.png
/ X6 u6 K; M' \! x5 A2 I5 e3 J8 n" @6 S8 [6 ^2 e4 b& `
0f4679463e434b67d33b359f95eac986.png # F# ~6 ~0 v' T' a) w; ^

/ B7 _' u  ?/ O4 X1 C8 p" F9 S+ [上述为新建工程配置过程,可参考12.3.2章节进行导入已有工程,工程存放路径【华清远见-FS-MP1A开发资料\02-程序源码\ARM体系结构与接口技术\Cortex-M4\13_EX_GPIO_KEY】
4 E( V$ ?9 o. M' t9 e7 F  i: h$ j+ [5 [- _( K
23dfbf7e844ed63e81693a04140a0d17.jpg
; K/ c) J& r6 r5 c% W0 t" |7 j$ r/ U
此时按下KEY1键,即可发现LED1电平发生改变,按下KEY2键,LED2电平发生改变,按下KEY3键,LED3电平发生改变。
0 ~4 \2 ]# E9 O- E————————————————" q" G7 k" E; x" h3 s* K
版权声明:华清远见IT开放实验室
% T; ]: Z- x9 y/ x+ F, Y1 j% Q4 A/ [3 F1 e" |

. |: w% _- o- m( d
赞 收藏 评论0 发布时间:2022-10-1 21:00

举报

0个回答

所属标签

相似技术帖

官网相关资源

关于
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
意法半导体官网
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
官方最新发布
人形机器人运动控制、感知与智能配电
半导体创新技术与应用方向
EE架构与软件定义汽车
12V/48V 汽车智能配电(SPD)
区域控制单元(ZCU)与分区架构
关注我们
st-img 微信公众号
st-img 手机版