您的位置 首页 动态

STM32开发板学习笔记–外部中止

1、先去掉stm32f10x_confh中TIM前的注释符号2、在NVIC_Configuration();中加入NVIC_PriorityGroupConfig(NVIC_PriorityGroup

1、先去掉“stm32f10x_conf.h”中TIM前的注释符号

2、在NVIC_Configuration();中参加
NVIC_PriorityGroupConfig(NVIC_PriorityGroup_1);// 挑选运用优先级分组第1组
//使能EXTI3中止
NVIC_InitStructure.NVIC_IRQChannel=EXTI3_IRQChannel;
//设置通道
NVIC_InitStructure.NVIC_IRQChannelPreemptionPriority=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的中止标志位

}

}

声明:本文内容来自网络转载或用户投稿,文章版权归原作者和原出处所有。文中观点,不代表本站立场。若有侵权请联系本站删除(kf@86ic.com)https://www.86ic.net/news/dongtai/256551.html

为您推荐

联系我们

联系我们

在线咨询: QQ交谈

邮箱: kf@86ic.com

关注微信
微信扫一扫关注我们

微信扫一扫关注我们

返回顶部