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

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

[复制链接]
STMCU小助手 发布时间:2022-4-25 21:14
7.3 配置外部中断
7.3.1 外部中断按钮设置设置

外部中断是单片机实时地处理外部事件的一种内部机制。当某种外部事件发生时,单
片机的中断系统将迫使 CPU 暂停正在执行的程序,转而去进行中断事件的处理;中断处
理完毕后.又返回被中断的程序处,继续执行下去。
首先我们需要把开发板上的按键设置为外部中断来进行触发,这边选用的是“KEY_Y1”,它是由一个按键串联PH2引脚至地的,因此我们需要用下降沿去触发外部中断。
搜索“PH2”引脚将其模式设置为“GPIO_EXTI2”,同时进入其GPIO配置界面将其设置为下降沿触发外部中断以及默认上拉。
%K~F[ORRMSIIJKGU(1%IERP.png

再接着打开NVIC设置界面将其全局中断开启。

019ee66ae351477f9f1d5b984990815a.png

接着点击保存并生成代码。

7.3.2 外部中断代码添加
由于外部中断由外部信号边沿触发,因此不需要像定时器中断一样需要初始化,只需直接在“NVIC.c”文件中添加外部中断的中断反馈函数即可。

60ecdd7e16604bc7916ad833a7829f7a.png

点击烧录 后,按下“KEY_Y1”,可以看到按下后的LED有明显的频率改变现象发生。

08594f2b04be4b21b97b5e615bc4d960.png

附上程序:
  1. void HAL_GPIO_EXTI_Callback(uint16_t GPIO_Pin)                //外部中断反馈函数
  2. {
  3.          if(GPIO_Pin == GPIO_PIN_2)                                                //判断哪个引脚产生了外部中断
  4.          {
  5.                  HAL_GPIO_TogglePin(IO_LED0_GPIO_Port, IO_LED0_Pin);        //HAL库控制IO_LED0电**转
  6.          }
  7. }
复制代码




b9b01f9616d940478b09c1753e64c5fd.png
收藏 评论0 发布时间:2022-4-25 21:14

举报

0个回答

所属标签

相似技术帖

官网相关资源

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