STM32开发板学习笔记--外部中断
时间:11-28
来源:互联网
点击:
1、先去掉“stm32f10x_conf.h”中TIM前的注释符号
2、在NVIC_Configuration();中加入
NVIC_PriorityGroupConfig(NVIC_PriorityGroup_1);// 选择使用优先级分组第1组
//使能EXTI3中断
NVIC_InitStructure.NVIC_IRQChannel=EXTI3_IRQChannel;
//设置通道
NVIC_InitStructure.NVIC_IRQChannelPreemptionPrio rity=0; //指定抢占式优先级别0
NVIC_InitStructure.NVIC_IRQChannelSubPriority=0;
// 指定响应优先级别0
NVIC_InitStructure.NVIC_IRQChannelCmd=ENABLE; //通道全能
NVIC_Init(&NVIC_InitStructure);
3、初始化PA0时加入
GPIO_EXTILineConfig(GPIO_PortSourceGPIOA, GPIO_PinSource3);//选择 GPIOA_PIN3管脚用作外部中断线路
4, 外部中断函数
void EXTI_Configuration(){
EXTI_InitTypeDef EXTI_InitStructure;
EXTI_InitStructure.EXTI_Line = EXTI_Line3;
EXTI_InitStructure.EXTI_Mode = EXTI_Mode_Interrupt;
EXTI_InitStructure.EXTI_Trigger = EXTI_Trigger_Falling;
EXTI_InitStructure.EXTI_LineCmd = ENABLE;
EXTI_Init(&EXTI_InitStructure);
}
5, 在“stm32f10x_it.c” 的 void EXTI3_IRQHandler(void) 中加入中断处理程序
void EXTI3_IRQHandler(void)
{
if(EXTI_GetITStatus(EXTI_Line3) != RESET)
{
GPIO_SetBits(GPIOA, GPIO_Pin_1); //点亮PA1的发光二极管
EXTI_ClearITPendingBit(EXTI_Line3);
//清除EXTI3的中断标志位
}
}
2、在NVIC_Configuration();中加入
NVIC_PriorityGroupConfig(NVIC_PriorityGroup_1);// 选择使用优先级分组第1组
//使能EXTI3中断
NVIC_InitStructure.NVIC_IRQChannel=EXTI3_IRQChannel;
//设置通道
NVIC_InitStructure.NVIC_IRQChannelPreemptionPrio
NVIC_InitStructure.NVIC_IRQChannelSubPriority=0;
// 指定响应优先级别0
NVIC_InitStructure.NVIC_IRQChannelCmd=ENABLE; //通道全能
NVIC_Init(&NVIC_InitStructure);
3、初始化PA0时加入
GPIO_EXTILineConfig(GPIO_PortSourceGPIOA, GPIO_PinSource3);//选择 GPIOA_PIN3管脚用作外部中断线路
4, 外部中断函数
void EXTI_Configuration(){
}
5, 在“stm32f10x_it.c” 的 void EXTI3_IRQHandler(void) 中加入中断处理程序
void EXTI3_IRQHandler(void)
{
}
STM32开发板学习笔记外部中 相关文章:
- Windows CE 进程、线程和内存管理(11-09)
- RedHatLinux新手入门教程(5)(11-12)
- uClinux介绍(11-09)
- openwebmailV1.60安装教学(11-12)
- Linux嵌入式系统开发平台选型探讨(11-09)
- Windows CE 进程、线程和内存管理(二)(11-09)