kmsp.net
当前位置:首页 >> stm32 Exti9 5 irqn >>

stm32 Exti9 5 irqn

在中断事件中判断EXTI_PR寄存器可以知道具体是那个通道触发的。这样能将9_5分开。

这个是和官方库版本有关系的,以前用的是 EXTI9_5_IRQChannel,新版本用的是 EXTI9_5_IRQn

仔细钻研钻研技术手册 应该是有解决方法的 楼主 顶一个

你说的外部中断吧,呵呵,每个GPIO口都可以外部中断,但是中断向量只有这么多: EXTI0_IRQn = 6, /*!< EXTI Line0 Interrupt */ EXTI1_IRQn = 7, /*!< EXTI Line1 Interrupt */ EXTI2_IRQn = 8, /*!< EXTI Line2 Interrupt */ EXTI3_IRQn = 9, /...

调用这个词不是很准确,假设你讲的是io对应的中断服务. stm32的每个io都可以对应一个exit中断服务,每个exit中断对应多个源,比如gpioA1B1C1都共用一个exit1.gpioA10~15,B10~15,C10~15共用exit15_10

你看一下stm32f10x_conf.h 中的#include "stm32f10x_exti.h" 有没有包含

那么如果我使能exti5—9 是不是PA5——PA9 都是中断输入脚? -------- 这个不是这样的。PA5 - PA9具体是哪一个脚为中断输入引脚由你自己配置,但是他们在NVIC里面共用一个资源:EXTI9_5_IRQn。这里算是ST省点事吧,不过你能够在一个项目中把这些中断...

EXTI0 EXTI1 EXTI2 EXTI3 EXTI4 EXTI5_9 EXTI10_15 0~15一共16个 5~9 和10~15 公用两个通道 所以一共7个

ITStatus EXTI_GetITStatus(uint32_t EXTI_Line) { ITStatus bitstatus = RESET; uint32_t enablestatus = 0; /* Check the parameters */ assert_param(IS_GET_EXTI_LINE(EXTI_Line)); enablestatus = EXTI->IMR & EXTI_Line; //1 if (((EXTI->...

void BUTTON_Init(void){ EXTI_InitTypeDef EXTI_InitStructure; RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA | RCC_APB2Periph_GPIOB | \ RCC_APB2Periph_GPIOC, ENABLE); GPIO_Config(GPIOA, GPIO_Pin_0, GPIO_Speed_10MHz, GPIO_Mode_IPU);...

网站首页 | 网站地图
All rights reserved Powered by www.kmsp.net
copyright ©right 2010-2021。
内容来自网络,如有侵犯请联系客服。zhit325@qq.com