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

【经验分享】STM32Cube 配置外部中断

[复制链接]
STMCU小助手 发布时间:2022-4-25 21:14
7.3 配置外部中断
% T) `& Q/ v2 E' I7.3.1 外部中断按钮设置设置
; S3 H7 f# |- E: L% i" b
外部中断是单片机实时地处理外部事件的一种内部机制。当某种外部事件发生时,单7 x3 e- B  F+ v: I& _5 S1 ~
片机的中断系统将迫使 CPU 暂停正在执行的程序,转而去进行中断事件的处理;中断处- X2 S# H6 m. u/ _# U0 }+ R/ R
理完毕后.又返回被中断的程序处,继续执行下去。
+ g+ F6 s% \- k4 N首先我们需要把开发板上的按键设置为外部中断来进行触发,这边选用的是“KEY_Y1”,它是由一个按键串联PH2引脚至地的,因此我们需要用下降沿去触发外部中断。
: e: b7 q6 f3 X" ^* [8 i搜索“PH2”引脚将其模式设置为“GPIO_EXTI2”,同时进入其GPIO配置界面将其设置为下降沿触发外部中断以及默认上拉。5 b! z6 H' e# N9 S1 G3 y! h; Z2 c
%K~F[ORRMSIIJKGU(1%IERP.png 2 ^/ V, q! m5 q5 O8 _7 j. o
5 n. c2 t3 ^) h! |* `5 F
再接着打开NVIC设置界面将其全局中断开启。
( q) m9 e- |( i+ O3 E1 C! w
: y0 m( m6 H0 u  `0 @ 019ee66ae351477f9f1d5b984990815a.png
+ D, r6 E* H9 k/ G& r! z& C8 w6 Y: m$ t, [
接着点击保存并生成代码。/ Q! k$ X7 S* V. K1 b; `7 B

6 H" @4 `$ ]* i1 E- b$ y7.3.2 外部中断代码添加
. L* R# |" D. B5 a) f9 H由于外部中断由外部信号边沿触发,因此不需要像定时器中断一样需要初始化,只需直接在“NVIC.c”文件中添加外部中断的中断反馈函数即可。; \: t: @# Y: J" m% C" I: T
) s* M1 i% N& @: }0 X" ^, N1 ^
60ecdd7e16604bc7916ad833a7829f7a.png
! [1 u4 e  f& s& N3 p5 w% I1 h# F" x3 t
点击烧录 后,按下“KEY_Y1”,可以看到按下后的LED有明显的频率改变现象发生。' E& f# [2 @$ @

" m- X/ d$ j+ Z$ | 08594f2b04be4b21b97b5e615bc4d960.png
' E6 _3 m6 f5 H/ J
. M" w/ K- w; I1 g" o/ C9 L附上程序:
  1. void HAL_GPIO_EXTI_Callback(uint16_t GPIO_Pin)                //外部中断反馈函数
    2 j9 @) f; l0 n4 v0 s
  2. {
    , U' n6 r% A- e% v5 }* c
  3.          if(GPIO_Pin == GPIO_PIN_2)                                                //判断哪个引脚产生了外部中断
    6 s% p6 d3 n0 k& t9 M
  4.          {
    " G/ c( \  _! @" ^- |
  5.                  HAL_GPIO_TogglePin(IO_LED0_GPIO_Port, IO_LED0_Pin);        //HAL库控制IO_LED0电**转
    3 g- g, ~; p: O: l
  6.          }9 U5 d2 X# p1 {  N+ Y1 i0 X
  7. }
复制代码
3 S, ]$ z* Q( e2 l* G# h
& r4 q9 E: q4 A. N4 B5 v# t6 f0 X
$ W% r& J: q) k" \9 L. i! K) ?# O* z

! I$ c/ U; v9 N- Y2 Q' \. z
b9b01f9616d940478b09c1753e64c5fd.png
收藏 评论0 发布时间:2022-4-25 21:14

举报

0个回答

所属标签

相似分享

官网相关资源

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