[G32R] 【G32R501 Micro-EVB开发板测评】+02 使用外部中断的方式点亮LED灯

[复制链接]
95|5
聪聪哥哥 发表于 2026-1-30 13:51 | 显示全部楼层 |阅读模式
一:中断的基础知识
中断/事件分为内部中断/事件、外部中断/事件。在该手册中,外部中断指从VO引脚输入信号引起的中断/事件,在中断向量表中指EXTIx;其它中断指内部中断/事件,这些事件线可将器件从IDEL模式唤醒。
二:主要特征:
(1) 支持16个事件/中断请求
(2) 可独立配置作为外部/内部事件请求的线
(3) 每个事件/中断线都可独立屏蔽
(4) 可独立配置有效边沿
(5) 每个外部事件/中断线都可独立触发
(6) 每个外部中断线都有专用的状态位
(7) 可配置IO触发选择
(8) 仿真所有外部事件中断
三:软件的配置流程:
3.1 初始化IO口为输入。
3.2 开启IO口复用时钟。
3.3 设置IO口与中断线的映射关系。
3.4 初始化线上中断,设置触发条件:上升沿,下降沿触发方式。
3.5 配置中断分组,并使能中断。
3.6 编写中断服务函数。 清除中断标志位
四:软件代码:
4.1 GPIO13的初始化代码:
  1. void myGPIOInputInterrupt0_init()
  2. {
  3.     GPIO_setPadConfig(myGPIOInputInterrupt0, GPIO_PIN_TYPE_STD | GPIO_PIN_TYPE_PULLUP);
  4.     GPIO_setDrivingCapability(myGPIOInputInterrupt0,GPIO_DRIVE_LEVEL_VERY_HIGH);
  5.     GPIO_setQualificationMode(myGPIOInputInterrupt0, GPIO_QUAL_SYNC);
  6.     GPIO_setDirectionMode(myGPIOInputInterrupt0, GPIO_DIR_MODE_IN);
  7.     GPIO_setMasterCore(myGPIOInputInterrupt0, GPIO_CORE_CPU0);
  8. }
4.2 中断代码的配置过程:配置下降沿触发模式
  1.     Interrupt_initModule();
  2.     Interrupt_initVectorTable();
  3.     Interrupt_setPriorityGroup(INTERRUPT_PRIGROUP_PREEMPT_7_6_SUB_5_0);
  4.     Interrupt_setPriority(INT_XINT1, 0, 0);
  5.    
  6.     GPIO_setInterruptType(GPIO_INT_XINT1, GPIO_INT_TYPE_FALLING_EDGE);
  7.     GPIO_setInterruptPin(myGPIOInputInterrupt0, GPIO_INT_XINT1);
  8.     GPIO_enableInterrupt(GPIO_INT_XINT1);

  9.     Interrupt_register(INT_XINT1, &gpioInterruptHandler);
  10.     Interrupt_enable(INT_XINT1);

  11.     Interrupt_enableMaster();
4.3 在外部中断回调中添加LED灯的闪烁控制代码
  1. void gpioInterruptHandler(void)
  2. {
  3.     GPIO_togglePin(myGPIOOutput0);
  4. }
五:中断应用的场景:
按钮/开关控制:当用户按下按钮或切换开关时,可以触发外部中断来响应用户的操作,例如控制LED的亮灭或执行特定功能。这种中断类型常用于用户界面交互,如按键控制设备启动、停止或切换模式。
传感器触发:当传感器检测到特定事件或条件发生时(如温度达到阈值、光线强度变化等),可以触发外部中断来及时处理传感器数据。这种中断类型在环境监测、工业自动化等领域有广泛应用。

星云狂想曲 发表于 2026-2-6 19:50 | 显示全部楼层
代码是不是不完整啊
 楼主| 聪聪哥哥 发表于 2026-2-7 09:05 | 显示全部楼层
星云狂想曲 发表于 2026-2-6 19:50
代码是不是不完整啊

对,只是贴出的关键的代码。
星云狂想曲 发表于 2026-2-9 13:21 | 显示全部楼层
唉,失去了一个学习过程
 楼主| 聪聪哥哥 发表于 2026-2-9 16:44 | 显示全部楼层
星云狂想曲 发表于 2026-2-9 13:21
唉,失去了一个学习过程

等下我传上代码上来
霜之闪耀 发表于 2026-2-18 18:30 | 显示全部楼层
还真是这样的道理 。
HMI的按键如果使用外部中断方式可能有点奢侈了,但如果是自动化,传感器的信号的话,外部中断就显得重要了
您需要登录后才可以回帖 登录 | 注册

本版积分规则

143

主题

417

帖子

1

粉丝
快速回复 在线客服 返回列表 返回顶部
0