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

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

[复制链接]
STMCU小助手 发布时间:2022-4-25 21:14
7.3 配置外部中断  E' T$ ~4 W# P, V; B, N
7.3.1 外部中断按钮设置设置

- B% p3 v7 ?: l外部中断是单片机实时地处理外部事件的一种内部机制。当某种外部事件发生时,单5 X# `5 k0 M5 P3 V- [
片机的中断系统将迫使 CPU 暂停正在执行的程序,转而去进行中断事件的处理;中断处* K% ?9 [! i, r& L" B& h' Y
理完毕后.又返回被中断的程序处,继续执行下去。- f$ Z( \, c4 B3 E
首先我们需要把开发板上的按键设置为外部中断来进行触发,这边选用的是“KEY_Y1”,它是由一个按键串联PH2引脚至地的,因此我们需要用下降沿去触发外部中断。& Q  ^5 L( }# {2 q5 W
搜索“PH2”引脚将其模式设置为“GPIO_EXTI2”,同时进入其GPIO配置界面将其设置为下降沿触发外部中断以及默认上拉。
' U9 t. [+ D. O9 V %K~F[ORRMSIIJKGU(1%IERP.png 2 X% e- D: Z: g$ K! v; |3 `
& F. n" b, \% ^& r' v* \, _/ c
再接着打开NVIC设置界面将其全局中断开启。
. Q0 D/ L$ d9 a) O1 T. o  Q2 M; a$ K" v# P3 |; k1 P% f$ @8 Y
019ee66ae351477f9f1d5b984990815a.png " W  m' Z1 b6 O

" U& a2 H5 D6 p( B3 F  [* }- x" l接着点击保存并生成代码。+ r! h% Q7 A2 \8 a7 B  Q  }

9 F# G4 f% Q, G4 n2 p6 a% u7.3.2 外部中断代码添加: T: k4 k* T% h/ F8 [
由于外部中断由外部信号边沿触发,因此不需要像定时器中断一样需要初始化,只需直接在“NVIC.c”文件中添加外部中断的中断反馈函数即可。
5 H- H: W# i# x0 k
; l; B4 g- K. }& K8 W9 L 60ecdd7e16604bc7916ad833a7829f7a.png
* c  }! D5 }* n: K% y; @9 ?$ ^' u9 l3 ^
点击烧录 后,按下“KEY_Y1”,可以看到按下后的LED有明显的频率改变现象发生。
; j7 z+ `' v# }4 G; Z
# H6 I5 e) r+ @ 08594f2b04be4b21b97b5e615bc4d960.png , u& o3 T" R6 w8 O. g" n7 N) _
) }' z/ U' \/ r4 U5 r; [
附上程序:
  1. void HAL_GPIO_EXTI_Callback(uint16_t GPIO_Pin)                //外部中断反馈函数  R; w$ `: Z* H2 M% B) g5 ^/ Z! }% W
  2. {
    3 [* S2 W8 C# o  T* |2 [7 P+ Y
  3.          if(GPIO_Pin == GPIO_PIN_2)                                                //判断哪个引脚产生了外部中断
    6 J- a- i5 P1 q( [
  4.          {& z- C* |1 n% V1 W  a4 i, q
  5.                  HAL_GPIO_TogglePin(IO_LED0_GPIO_Port, IO_LED0_Pin);        //HAL库控制IO_LED0电**转
    8 w; Q4 c# Y) {+ p
  6.          }
    2 X. D5 W4 m9 T
  7. }
复制代码

3 V% Y1 l4 c& }% X  X- O6 U7 s* J, I; M7 c
  ~0 P( _, W. R& P: r3 i
: a0 J, p, ~' \! M
b9b01f9616d940478b09c1753e64c5fd.png
赞 收藏 评论0 发布时间:2022-4-25 21:14

举报

0个回答

所属标签

相似技术帖

官网相关资源

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