GD32F103的EXTI中断和EXTI事件

GD32F103的EXTI可以产生中断,也产生事件信号。

GD32F03的EXTI触发源:

1、I/O管脚的16根线;

2、内部模块的4根线(包括LVD、RTC闹钟、USB唤醒、以太网唤醒)。

通过配置GPIO模块的AFIO_EXTISSx寄存器,所有的GPIO管脚都可以被选作EXTI的触发源。因此,EXTI可以产生中断,也产生事件信号。

复制代码
//函数功能:初始化ExternalInterrupt3
void ExternalInterrupt3_Init(void)
{
	//NVIC_PRIGROUP_PRE4_SUB0:抢占优先级为4bit(取值为0~15),子优先级为0bit(没有响应优先级)
	//NVIC_PRIGROUP_PRE3_SUB1:抢占优先级为3bit(取值为0~7),子优先级为1bit(取值为0~1)
	//NVIC_PRIGROUP_PRE2_SUB2:抢占优先级为2bit(取值为0~3),子优先级为2bit(取值为0~3)
	//NVIC_PRIGROUP_PRE1_SUB3:抢占优先级为1bit(取值为0~1),子优先级为3bit(取值为0~7)
	//NVIC_PRIGROUP_PRE0_SUB4:抢占优先级为0bit(没有抢占优先级),子优先级为3bit(取值为0~15)
	nvic_priority_group_set(NVIC_PRIGROUP_PRE4_SUB0);//设置系统中断优先级"抢占优先级为4bit,子优先级为0bit"
  nvic_irq_enable(EXTI3_IRQn, 2U, 0U);//设置EXTI3_IRQn的中断优先级,抢占优先级为2,子优先级为0

	rcu_periph_clock_enable(RCU_GPIOE);//使能GPIOE时钟,enable GPIO clock
	rcu_periph_clock_enable(RCU_AF);   //外部中断,需要使能复用功能时钟

	gpio_init(GPIOE, GPIO_MODE_IN_FLOATING, GPIO_OSPEED_50MHZ, GPIO_PIN_3);//将GPIOE3设置为浮空输入

	gpio_exti_source_select(GPIO_PORT_SOURCE_GPIOE, GPIO_PIN_SOURCE_3);
	//设置GE3引脚为外部中断源,select GPIO pin exti sources
  exti_init(EXTI_3, EXTI_INTERRUPT, EXTI_TRIG_FALLING);
	//配置外部中断线使用外部中断3(EXTI_3)
	//中断模式为外部中断(EXTI_INTERRUPT)
	//中断触发方式为下降沿中断(EXTI_TRIG_FALLING)
	exti_interrupt_flag_clear(EXTI_3);//清除外部中断3标志
	exti_interrupt_enable(EXTI_3);//使能外部中断3(EXTI_3)
	exti_event_enable(EXTI_3);//使能外部事件3(EXTI_3)
}

除了EXTI中断,EXTI还可以向处理器提供事件信号。

Cortex-M3内核完全支持等待中断(WFI),等待 事件(WFE)和发送事件(SEV)指令。芯片内部有一个唤醒中断控制器(WIC),用户可以放心的让 处理器和NVIC进入功耗极低的省电模式,由WIC来识别中断和事件以及判断优先级。当某些预 期的事件发生时,EXTI能唤醒处理器及整个系统,例如一个特定的I/O管脚电平翻转或者RTC 闹钟动作。

相关推荐
某林2125 小时前
ROS2与STM32通信详解
stm32·单片机·嵌入式硬件
EVERSPIN7 小时前
MCU微控制器,N32H47x高性能MCU机器人关节控制方案
单片机·嵌入式硬件·机器人·mcu微控制器
0南城逆流07 小时前
【STM32】知识点介绍三:哈希算法详解
stm32·嵌入式硬件·哈希算法
云山工作室7 小时前
基于STM32单片机的正激式开关电源设计(论文+源码)
stm32·单片机·嵌入式硬件·毕业设计·课程设计·毕设
芯希望8 小时前
芯伯乐700mA线性稳压器XBLW L78M05H/L78M12H:稳定可靠,简化电源设计
单片机·嵌入式硬件
lingzhilab9 小时前
零知IDE——STM32F407VET6驱动SHT40温湿度传感器与ST7789实现智能环境监测系统
stm32·单片机·嵌入式硬件
贝塔实验室10 小时前
Altium Designer 6.3 PCB LAYOUT教程(四)
驱动开发·嵌入式硬件·硬件架构·硬件工程·信息与通信·基带工程·pcb工艺
星辰pid11 小时前
stm32的gpio模式到底该怎么选择?(及iic,spi,定时器原理介绍)
stm32·单片机·嵌入式硬件
brave and determined12 小时前
可编程逻辑器件学习(day3):FPGA设计方法、开发流程与基于FPGA的SOC设计详解
嵌入式硬件·fpga开发·soc·仿真·电路·时序·可编程逻辑器件
axuan1265112 小时前
10.【NXP 号令者RT1052】开发——实战-RT 看门狗(RTWDOG)
单片机·嵌入式硬件·mcu