进不去外部中断,看配置也没什么问题啊
这是程序 各位大神帮看看
void Y_X_GPIO(void)
{
GPIO_InitTypeDef GPIO_InitStructure;
RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOD ,ENABLE);//ʹÄÜPORTDʱÖÓ
GPIO_InitStructure.GPIO_Pin = GPIO_Pin_11| GPIO_Pin_12| GPIO_Pin_13|GPIO_Pin_14 ;// ÏÞλ
GPIO_InitStructure.GPIO_Mode = GPIO_Mode_IPD; //ÉèÖóÉÉÏÀÊäÈë
GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;
GPIO_Init(GPIOD, &GPIO_InitStructure);//³õʼ»¯GPIOD5
}
void Y_X_ST0P(void) //YÖáÏÞλ¿ª¹Ø
{
EXTI_InitTypeDef EXTI_InitStructure;
NVIC_InitTypeDef NVIC_InitStructure;
RCC_APB2PeriphClockCmd(RCC_APB2Periph_AFIO,ENABLE);
Y_X_GPIO();
EXTI_ClearITPendingBit(EXTI_Line11);
EXTI_ClearITPendingBit(EXTI_Line12);
EXTI_ClearITPendingBit(EXTI_Line13);
EXTI_ClearITPendingBit(EXTI_Line14);
GPIO_EXTILineConfig(GPIO_PortSourceGPIOD , GPIO_PinSource11 ); //½«GPIO ÓëÖжÏÓ³ÉäÆðÀ´
GPIO_EXTILineConfig(GPIO_PortSourceGPIOD , GPIO_PinSource12 );
GPIO_EXTILineConfig(GPIO_PortSourceGPIOD , GPIO_PinSource13 );
GPIO_EXTILineConfig(GPIO_PortSourceGPIOD , GPIO_PinSource14 );
EXTI_InitStructure.EXTI_Line=EXTI_Line11; //ÖжÏÏß±àºÅ ȡֵ·¶Î§ EXTI_Line0~EXTI_Line15
EXTI_InitStructure.EXTI_Mode=EXTI_Mode_Interrupt;
EXTI_InitStructure.EXTI_Trigger=EXTI_Trigger_Rising; //´¥·¢Ä£Ê½ ϽµÑØ´¥·¢Falling ÉÏÉýÑØ´¥·¢Rising
EXTI_InitStructure.EXTI_LineCmd=ENABLE;
EXTI_Init(&EXTI_InitStructure);
EXTI_InitStructure.EXTI_Line=EXTI_Line12; //ÖжÏÏß±àºÅ ȡֵ·¶Î§ EXTI_Line0~EXTI_Line15
EXTI_InitStructure.EXTI_Mode=EXTI_Mode_Interrupt;
EXTI_InitStructure.EXTI_Trigger=EXTI_Trigger_Rising; //´¥·¢Ä£Ê½ ϽµÑØ´¥·¢Falling ÉÏÉýÑØ´¥·¢Rising
EXTI_InitStructure.EXTI_LineCmd=ENABLE;
EXTI_Init(&EXTI_InitStructure);
EXTI_InitStructure.EXTI_Line=EXTI_Line13; //ÖжÏÏß±àºÅ ȡֵ·¶Î§ EXTI_Line0~EXTI_Line15
EXTI_InitStructure.EXTI_Mode=EXTI_Mode_Interrupt;
EXTI_InitStructure.EXTI_Trigger=EXTI_Trigger_Rising; //´¥·¢Ä£Ê½ ϽµÑØ´¥·¢Falling ÉÏÉýÑØ´¥·¢Rising
EXTI_InitStructure.EXTI_LineCmd=ENABLE;
EXTI_Init(&EXTI_InitStructure);
EXTI_InitStructure.EXTI_Line=EXTI_Line14; //ÖжÏÏß±àºÅ ȡֵ·¶Î§ EXTI_Line0~EXTI_Line15
EXTI_InitStructure.EXTI_Mode=EXTI_Mode_Interrupt;
EXTI_InitStructure.EXTI_Trigger=EXTI_Trigger_Rising; //´¥·¢Ä£Ê½ ϽµÑØ´¥·¢Falling ÉÏÉýÑØ´¥·¢Rising
EXTI_InitStructure.EXTI_LineCmd=ENABLE;
EXTI_Init(&EXTI_InitStructure);
NVIC_InitStructure.NVIC_IRQChannel = EXTI15_10_IRQn; //ʹÄÜÍⲿͨµÀ 0-4 , 5-9¶ÔÓ¦ EXTI9_5_IRQHandler, 10-15¶ÔÓ¦ EXTI15_10_IRQHandler?
NVIC_InitStructure.NVIC_IRQChannelPreemptionPriority = 0x02;
NVIC_InitStructure.NVIC_IRQChannelSubPriority = 0x01;
NVIC_InitStructure.NVIC_IRQChannelCmd = ENABLE;
NVIC_Init(&NVIC_InitStructure);
}
相关推荐
STM32开发项目:如何配置GPIO的外部中断
目录如何配置GPIO的外部中断配置RCC时钟GPIO配置EXTI配置NVIC配置中断服务函数 IRQ_Handler 如何配置GPIO的外部中断 以STM32F103为例,记录配置GPIO外部中断的一般方法与流程。 配置RCC时钟 RCC时钟配置是STM32MCU顺利运行的必备步骤,笔者使用的参考代码如下: void RCC_Config() { RCC_DeInit(); //使能HSE,并等待 HSE 稳定 RCC_HSEConfig(RCC_HSE_ON); ErrorStatus HSEStartUpStatus; HSEStartUpStatus = RCC_WaitFor
STM8 外部中断配置方法
STM8 外部中断配置方法 1:引用STM8 的中断库 #include "stm8s_exti.h" 2:配置外部中断的触发管脚 GPIO_Init(LEDS_PORT,MB,GPIO_MODE_IN_FL_IT ); 或者 GPIO_Init(LEDS_PORT,MB,GPIO_MODE_IN_PU_IT )...
实验4 外部中断实验,外部中断实验遇到的问题,C,C++
STM32 外部中断实验.rar 工程中接入外部信号时候常用,特别和MCP2515等芯片联调时。
STM32F030 IO口外部中断应用
下面是一个STM32F030 IO口外部中断应用程序,感兴趣的朋友可以看看。
外部中断实验报告
外部中断实验报告


单片机/工控
