OpenEdv-开源电子网

 找回密码
 立即注册
正点原子全套STM32/Linux/FPGA开发资料,上千讲STM32视频教程免费下载...
查看: 4099|回复: 1

关于中断的配置问题

[复制链接]

30

主题

705

帖子

1

精华

新手上路

积分
21
金钱
21
注册时间
2013-3-14
在线时间
52 小时
发表于 2014-10-11 15:16:47 | 显示全部楼层 |阅读模式
5金钱
大家看下我这个配置对不对啊。
[mw_shl_code=c,true]#include "exti.h" #include "led.h" #include "key.h" #include "delay.h" #include "usart.h" //外部中断初始化程序 //初始化PA0,PA13,PA15为中断输入. u8 Extix_02_flag=0; //u8 Extix_11_flag=0; //u8 Extix_12_flag=0; void EXTIX_Init(void) { GPIO_InitTypeDef GPIO_InitStructure; EXTI_InitTypeDef EXTI_InitStructure; NVIC_InitTypeDef NVIC_InitStructure; GPIO_PinRemapConfig(GPIO_Remap_SWJ_JTAGDisable , ENABLE); //关闭jtag RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOB|RCC_APB2Periph_AFIO,ENABLE); //GPIOB.5 上拉输入 GPIO_InitStructure.GPIO_Pin = GPIO_Pin_5; GPIO_InitStructure.GPIO_Mode = GPIO_Mode_IPU; GPIO_Init(GPIOB, &GPIO_InitStructure); //GPIOB.5 GPIO_EXTILineConfig(GPIO_PortSourceGPIOB,GPIO_PinSource5); EXTI_InitStructure.EXTI_Line= EXTI_Line2; EXTI_InitStructure.EXTI_Mode = EXTI_Mode_Interrupt; EXTI_InitStructure.EXTI_Trigger = EXTI_Trigger_Falling; EXTI_InitStructure.EXTI_LineCmd = ENABLE; EXTI_Init(&EXTI_InitStructure); NVIC_InitStructure.NVIC_IRQChannel = EXTI2_IRQn; //使能按键所在的外部中断通道 NVIC_InitStructure.NVIC_IRQChannelPreemptionPriority = 0x02; //先占优先级4位,共16级 NVIC_InitStructure.NVIC_IRQChannelSubPriority = 0x01; //先占优先级0位,从优先级4位 NVIC_InitStructure.NVIC_IRQChannelCmd = ENABLE; //使能外部中断通道 NVIC_Init(&NVIC_InitStructure); } void EXTI2_IRQHandler(void) { //delay_ms(10); //消抖 if(EXTI_GetITStatus(EXTI_Line2) != RESET) //检查指定的EXTI0线路触发请求发生与否 { //OUT3=!OUT3; if(Extix_02_flag<250) Extix_02_flag++; } EXTI_ClearITPendingBit(EXTI_Line2); //清除EXTI0线路挂起位 } [/mw_shl_code]

最佳答案

查看完整内容[请看2#楼]

[mw_shl_code=c,true]#include "exti.h" #include "led.h" #include "key.h" #include "delay.h" #include "usart.h" //外部中断初始化程序 //初始化PA0,PA13,PA15为中断输入. u8 Extix_05_flag=0; //u8 Extix_11_flag=0; //u8 Extix_12_flag=0; void EXTIX_Init(void) { GPIO_InitTypeDef GPIO_InitStructure; EXTI_InitTypeDef EXTI_InitStructure; NVIC_InitTypeDef NVIC_InitStructure; ...
原子哥是不是又要出黑科技了呀。^_^...
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

30

主题

705

帖子

1

精华

新手上路

积分
21
金钱
21
注册时间
2013-3-14
在线时间
52 小时
 楼主| 发表于 2014-10-11 15:16:48 | 显示全部楼层
[mw_shl_code=c,true]#include "exti.h" #include "led.h" #include "key.h" #include "delay.h" #include "usart.h" //外部中断初始化程序 //初始化PA0,PA13,PA15为中断输入. u8 Extix_05_flag=0; //u8 Extix_11_flag=0; //u8 Extix_12_flag=0; void EXTIX_Init(void) { GPIO_InitTypeDef GPIO_InitStructure; EXTI_InitTypeDef EXTI_InitStructure; NVIC_InitTypeDef NVIC_InitStructure; GPIO_PinRemapConfig(GPIO_Remap_SWJ_JTAGDisable , ENABLE); //关闭jtag RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOB|RCC_APB2Periph_AFIO,ENABLE); //GPIOB.5 上拉输入 GPIO_InitStructure.GPIO_Pin = GPIO_Pin_5; GPIO_InitStructure.GPIO_Mode = GPIO_Mode_IPU; GPIO_Init(GPIOB, &GPIO_InitStructure); //GPIOB.5 GPIO_EXTILineConfig(GPIO_PortSourceGPIOB,GPIO_PinSource5); EXTI_InitStructure.EXTI_Line= EXTI_Line5; EXTI_InitStructure.EXTI_Mode = EXTI_Mode_Interrupt; EXTI_InitStructure.EXTI_Trigger = EXTI_Trigger_Falling; EXTI_InitStructure.EXTI_LineCmd = ENABLE; EXTI_Init(&EXTI_InitStructure); NVIC_InitStructure.NVIC_IRQChannel = EXTI9_5_IRQn; //使能按键所在的外部中断通道 NVIC_InitStructure.NVIC_IRQChannelPreemptionPriority = 0x02; //先占优先级4位,共16级 NVIC_InitStructure.NVIC_IRQChannelSubPriority = 0x01; //先占优先级0位,从优先级4位 NVIC_InitStructure.NVIC_IRQChannelCmd = ENABLE; //使能外部中断通道 NVIC_Init(&NVIC_InitStructure); } void EXTI9_5_IRQHandler(void) { if(EXTI_GetITStatus(EXTI_Line5) != RESET) { if(Extix_05_flag<250) Extix_05_flag++; EXTI_ClearITPendingBit(EXTI_Line5); } if(EXTI_GetITStatus(EXTI_Line6) != RESET) { EXTI_ClearITPendingBit(EXTI_Line6); } if(EXTI_GetITStatus(EXTI_Line7) != RESET) { EXTI_ClearITPendingBit(EXTI_Line7); } if(EXTI_GetITStatus(EXTI_Line8) != RESET) { EXTI_ClearITPendingBit(EXTI_Line8); } if(EXTI_GetITStatus(EXTI_Line9) != RESET) { EXTI_ClearITPendingBit(EXTI_Line9); //清除EXTI线路挂起位 } }[/mw_shl_code]
估计是这样配置的。看了下手册。
原子哥是不是又要出黑科技了呀。^_^...
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则



关闭

原子哥极力推荐上一条 /2 下一条

正点原子公众号

QQ|手机版|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2025-6-30 10:35

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

快速回复 返回顶部 返回列表