完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
|
|
相关推荐
1个回答
|
|
先记录几个知识点:
1、STM32的任何一个引脚均可配置成外部中断。 2、PA0/PB0/PC0...等均可任选一个连接到中断线0,PA3/PB2/PC3.....等均可任何一个连接到中断线3。。。。其余pin同理 3、EXTI_Line8的中断服务函数是EXTI9_5_IRQHandler,也即这个服务函数要对[5,9]这5个中断线进行服务,如何判断到底是哪个中断线引发的中断,以8号线为例,可通过这条语句查询:if(EXTI_GetITStatus(EXTI_Line8) != RESET) 下面是一段STM32F407把PA8连接到外部中断线8的例子,可实现跳边沿中断。 再强调一遍,一旦把PA8连接到了外部中断线8,那么PB8/PC8/PD8....就不允许再连接到外部中断线8了。 #define EXTI8_RCC_GPIOA RCC_AHB1Periph_GPIOA #define EXTI8_GPIOx GPIOA #define EXTI8_GPIO_Pin_x GPIO_Pin_8 #define EXTI8_PortSourceGPIOx EXTI_PortSourceGPIOA #define EXTI8_PinSourcex EXTI_PinSource8 #define EXTI8_EXTI_Linex EXTI_Line8 void EXTI8_Init(void) { EXTI_InitTypeDef EXTI_InitStructure; NVIC_InitTypeDef NVIC_InitStructure; GPIO_InitTypeDef GPIO_InitStructure; RCC_APB2PeriphClockCmd(RCC_APB2Periph_SYSCFG,ENABLE); RCC_AHB1PeriphClockCmd(EXTI8_RCC_GPIOA, ENABLE); GPIO_InitStructure.GPIO_Pin = EXTI8_GPIO_Pin_x; GPIO_InitStructure.GPIO_Mode = GPIO_Mode_IN; GPIO_InitStructure.GPIO_PuPd = GPIO_PuPd_DOWN; GPIO_Init(EXTI8_GPIOx, &GPIO_InitStructure); SYSCFG_EXTILineConfig(EXTI8_PortSourceGPIOx, EXTI8_PinSourcex); //关联GPIOx 和 中断线 EXTI_InitStructure.EXTI_Line = EXTI8_EXTI_Linex; EXTI_InitStructure.EXTI_Mode = EXTI_Mode_Interrupt; EXTI_InitStructure.EXTI_Trigger = EXTI_Trigger_Rising_Falling;//上升沿下降沿均中断 EXTI_InitStructure.EXTI_LineCmd = ENABLE; EXTI_Init(&EXTI_InitStructure); NVIC_InitStructure.NVIC_IRQChannel = EXTI9_5_IRQn; NVIC_InitStructure.NVIC_IRQChannelPreemptionPriority = 0; NVIC_InitStructure.NVIC_IRQChannelSubPriority = 0; NVIC_InitStructure.NVIC_IRQChannelCmd = ENABLE; NVIC_Init(&NVIC_InitStructure); } //外部中断56789的服务函数 void EXTI9_5_IRQHandler(void) { if(EXTI_GetITStatus(EXTI_Line8) != RESET)//判定是几号线引发的中断 { EXTI_ClearITPendingBit(EXTI8_EXTI_Linex); if(Bit_SET == GPIO_ReadInputDataBit(EXTI8_GPIOx, GPIO_Pin_8))//上升沿 { } else//下降沿触发 { } } } |
|
|
|
只有小组成员才能发言,加入小组>>
调试STM32H750的FMC总线读写PSRAM遇到的问题求解?
1874 浏览 1 评论
X-NUCLEO-IHM08M1板文档中输出电流为15Arms,15Arms是怎么得出来的呢?
1658 浏览 1 评论
1143 浏览 2 评论
STM32F030F4 HSI时钟温度测试过不去是怎么回事?
759 浏览 2 评论
ST25R3916能否对ISO15693的标签芯片进行分区域写密码?
1720 浏览 2 评论
1963浏览 9评论
STM32仿真器是选择ST-LINK还是选择J-LINK?各有什么优势啊?
788浏览 4评论
STM32F0_TIM2输出pwm2后OLED变暗或者系统重启是怎么回事?
610浏览 3评论
628浏览 3评论
stm32cubemx生成mdk-arm v4项目文件无法打开是什么原因导致的?
590浏览 3评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2025-1-11 06:41 , Processed in 0.703412 second(s), Total 76, Slave 60 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号