GD32F130之EXTI中断和事件控制器

简介

EXTI,即The external interrupt/event controller,外部中断和事件控制器。之所以叫做外部的,我想是因为ARM Cortex-M3内核本身有个NVIC嵌套中断向量控制器,它归属于内核,而EXTI则是由芯片厂商所设计的,所以相对于NVIC来说就是外部的。EXTI的中断功能依赖NVIC。

GD32F130的EXTI包含27条独立且结构相同的线,记为EXTI Line x(x=0~27)。每条EXTI Line都可以独立配置为产生中断或者唤醒事件,都包含一个边沿检测电路,可以选择触发边沿(上升沿,下降沿,上升或下降沿)。但是有些EXTI Line功能未开放,实际能使用的只有24条,如下列表所示。具体参考应用手册:《表 5-4. GD32F130xx 和 和 GD32F150xx 的 的 EXTI 触发源》。

  • EXTI Line0~15:GPIO(16根线连接到GPIO)
  • EXTI Line16:LVD检测电路的输出
  • EXTI Line17:RTC闹钟
  • EXTI Line18:USBD唤醒
  • EXTI Line19:RTC 干预和时间戳  
  • EXTI Line21:比较器 0 输出
  • EXTI Line22:比较器 1 输出
  • EXTI Line25:USART0 唤醒  
  • EXTI Line27:CEC 唤醒  

不同的EXTI Line可以选择GPIO或者其他内部外设作为触发源。当目标边沿跳变被检测到时,EXTI Line可以选

  • 1
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
GD32微控制器中,可以通过配置外部中断线(EXTI)来实现外部中断。以下是一个简单的GD32 EXTI中断实现的示例代码: 首先,需要在NVIC中开启外部中断线的中断: ```c NVIC_InitPara NVIC_InitStructure; NVIC_InitStructure.NVIC_IRQ = EXTI0_IRQn; // 外部中断线0 NVIC_InitStructure.NVIC_IRQPreemptPriority = 0; NVIC_InitStructure.NVIC_IRQSubPriority = 0; NVIC_InitStructure.NVIC_IRQEnable = ENABLE; NVIC_Init(&NVIC_InitStructure); ``` 然后,需要配置外部中断线的触发方式和GPIO口: ```c EXTI_InitPara EXTI_InitStructure; EXTI_InitStructure.EXTI_Line = EXTI_Line0; // 外部中断线0对应GPIO口0 EXTI_InitStructure.EXTI_Mode = EXTI_Mode_Interrupt; EXTI_InitStructure.EXTI_Trigger = EXTI_Trigger_Falling; // 下降沿触发 EXTI_InitStructure.EXTI_LineEnable = ENABLE; EXTI_Init(&EXTI_InitStructure); GPIO_InitPara GPIO_InitStructure; GPIO_InitStructure.GPIO_Pin = GPIO_PIN_0; GPIO_InitStructure.GPIO_Mode = GPIO_Mode_IN_FLOATING; GPIO_Init(GPIOA, &GPIO_InitStructure); ``` 最后,实现外部中断的处理函数: ```c void EXTI0_IRQHandler(void) { if(EXTI_GetITStatus(EXTI_Line0) != RESET) { // 处理外部中断事件 // ... EXTI_ClearITPendingBit(EXTI_Line0); } } ``` 在处理函数中,可以根据具体的需求进行相应的处理操作。 以上是一个简单的GD32 EXTI中断实现的示例代码。需要注意的是,为了保证稳定性和可靠性,具体的实现需要根据具体的硬件和软件环境进行调整和优化。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值