完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
简介
STM32F1基本配置3.外部中断配置,侧重于即配即用。因此不会讲述太多原理性的东西,做到即拿即用的效果。 中断线的知识 1.STM32有16条中断线,每个中断线可以选择配置其相对应的16个引脚之中的一个引脚。 如EXTI0中断线可以配置输入为PA0-PG0之中的一个引脚。 EXTI15中断线可以配置输入为PA15-PG15之中的一个引脚。 所以就会有函数来映射端口和中断线 所以就会有函数来映射端口和中断线 GPIO_EXTILineConfig(GPIO_PortSourceGPIOC,GPIO_PinSource5); 这里PinSource5代表中断线EXTI5,然后是C端口,所以配置的对应关系是EXTI5 - PC5。 2.中断线0-4分别对应一个中断函数,所以退出中断函数只需要清楚标志位 void EXTI0_IRQHandler(void) { //用户代码 EXTI_ClearITPendingBit(EXTI_Line0); //清除EXTI0中断标志位 } 中断线5-9和中断线10-15共用一个中断函数,所以要先判断是哪条线的中断 void EXTI9_5_IRQHandler(void) { //用户代码 if(EXTI_GetITStatus(EXTI_Line5) == SET) { //用户代码 EXTI_ClearITPendingBit(EXTI_Line5); //清除LINE5中断标志位 } } 触发方式 EXTI_Trigger_Falling;//下降沿触发 EXTI_Trigger_Rising;//上升沿触发 EXTI_Trigger_Rising_Falling;//上升下降电平触发 中断线配置 GPIO_InitTypeDef GPIO_InitStructure;//引脚配置结构体 EXTI_InitTypeDef EXTI_InitStructure;//中断配置结构体 NVIC_InitTypeDef NVIC_InitStructure;//中断管理器配置结构体 RCC_APB2PeriphClockCmd(RCC_APB2Periph_AFIO,ENABLE);//需要使能AFIO端口复用时 RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOC,ENABLE);//使能PORTC时钟 GPIO_InitStructure.GPIO_Pin = GPIO_Pin_5;//PC5 GPIO_InitStructure.GPIO_Mode = GPIO_Mode_IPU; //上拉输入 GPIO_Init(GPIOC, &GPIO_InitStructure);//初始化GPIOA15 GPIO_EXTILineConfig(GPIO_PortSourceGPIOC,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 = EXTI0_IRQn;//使能对应外部中断通道 NVIC_InitStructure.NVIC_IRQChannelPreemptionPriority = 0x02;//抢占优先级2 NVIC_InitStructure.NVIC_IRQChannelSubPriority = 0x02;//子优先级1 NVIC_InitStructure.NVIC_IRQChannelCmd = ENABLE; NVIC_Init(&NVIC_InitStructure); 中断函数 void EXTI5_IRQHandler(void) { //用户代码 EXTI_ClearITPendingBit(EXTI_Line5); //清除EXTI0中断标志位 } |
|
|
|
只有小组成员才能发言,加入小组>>
调试STM32H750的FMC总线读写PSRAM遇到的问题求解?
1855 浏览 1 评论
X-NUCLEO-IHM08M1板文档中输出电流为15Arms,15Arms是怎么得出来的呢?
1647 浏览 1 评论
1122 浏览 2 评论
STM32F030F4 HSI时钟温度测试过不去是怎么回事?
748 浏览 2 评论
ST25R3916能否对ISO15693的标签芯片进行分区域写密码?
1706 浏览 2 评论
1959浏览 9评论
STM32仿真器是选择ST-LINK还是选择J-LINK?各有什么优势啊?
770浏览 4评论
STM32F0_TIM2输出pwm2后OLED变暗或者系统重启是怎么回事?
598浏览 3评论
619浏览 3评论
stm32cubemx生成mdk-arm v4项目文件无法打开是什么原因导致的?
578浏览 3评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2025-1-6 04:42 , Processed in 0.804325 second(s), Total 78, Slave 62 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号