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 闹钟动作。

相关推荐
威嵌神州1 天前
嵌入式排故实录:高并发下串口数据“超时丢包”的根因剖析与架构优化
运维·服务器·嵌入式硬件·缓存
少司府1 天前
嵌入式入门篇(二):初识STM32F103ZET6
linux·python·stm32·单片机·嵌入式硬件·mcu·嵌入式软件
shimly1234561 天前
(done) 嵌入式硬件电路图 (8) 获取芯片手册信息
嵌入式硬件
Zwawa1 天前
让屏幕动起来:OLED动画效果,丝滑光标、帧动画和一只贪吃蛇
c语言·单片机·嵌入式
简单电磁炮1 天前
FWD八位单片机调试问题
单片机·嵌入式硬件
shimly1234561 天前
(done) 嵌入式硬件电路图 (6) 重要的元器件特性之MOS管
嵌入式硬件
菥蓂寻生2 天前
STM32移植到GD32中以105为例
stm32·单片机·嵌入式硬件
橘为己有4412 天前
51单片机:定时/计数器
单片机·51单片机
杯子不吃紫菜2 天前
LangGraph 体系实战(下):中断恢复、流式、子图与设计模式
单片机·嵌入式硬件·设计模式
qq_448011162 天前
中断服务函数简介
嵌入式硬件