完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
扫一扫,分享给好友
新手上路,求大神指导!最近用水位传感器产生一高电平给STM32f1的某一GPIO口产生中断来控制另一GPIO口输出高低电平。但程序下载到单片机测试时,外部中断口不管高低电平都能触发中断,甚至用金属钳子触碰中断输入口导线都会触发中断。求大神指导原因!以下为程序:void GPIO_Configuration(void)
{ GPIO_InitTypeDef GPIO_InitStructure; RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA | RCC_APB2Periph_GPIOB , ENABLE); GPIO_InitStructure.GPIO_Pin = GPIO_Pin_11; GPIO_InitStructure.GPIO_Mode = GPIO_Mode_IPU ; GPIO_Init(GPIOA, &GPIO_InitStructure); /*PA11 */ GPIO_ResetBits(GPIOB, GPIO_Pin_15 ); GPIO_InitStructure.GPIO_Pin = GPIO_Pin_15; GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP; GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz; GPIO_Init(GPIOB, &GPIO_InitStructure); } void EXTI_Configuration(void) { EXTI_InitTypeDef EXTI_InitStructure; RCC_APB2PeriphClockCmd(RCC_APB2Periph_AFIO, ENABLE); EXTI_ClearITPendingBit(EXTI_Line11); EXTI_InitStructure.EXTI_Mode = EXTI_Mode_Interrupt; EXTI_InitStructure.EXTI_Trigger = EXTI_Trigger_Rising; EXTI_InitStructure.EXTI_Line = EXTI_Line11; EXTI_InitStructure.EXTI_LineCmd = ENABLE; EXTI_Init(&EXTI_InitStructure); GPIO_EXTILineConfig(GPIO_PortSourceGPIOA, GPIO_PinSource11); } void NVIC_Configuration(void) { NVIC_InitTypeDef NVIC_InitStructure; NVIC_PriorityGroupConfig(NVIC_PriorityGroup_0); //抢占式优先级别设置为无抢占优先级 NVIC_InitStructure.NVIC_IRQChannel = EXTI15_10_IRQn; //指定中断源 //NVIC_InitStructure.NVIC_IRQChannelPreemptionPriority=0; 指定占先优先级 NVIC_InitStructure.NVIC_IRQChannelSubPriority = 1; //指定响应优先级别1 NVIC_InitStructure.NVIC_IRQChannelCmd = ENABLE; //使能外部中断通道 NVIC_Init(&NVIC_InitStructure); } void EXTI15_10_IRQHandler(void) { if(EXTI_GetITStatus(EXTI_Line11) !=RESET) { //添加中断处理程序 GPIO_SetBits(GPIOB , GPIO_Pin_15); delay_ms(1000); GPIO_ResetBits(GPIOB, GPIO_Pin_15); delay_ms(1000); EXTI_ClearFlag(EXTI_Line11); //清除中断标志(必须) EXTI_ClearITPendingBit(EXTI_Line11); } } /************************************************* 函数: int main(void) 功能: main主函数 参数: 无 返回: 无 **************************************************/ int main(void) { RCC_Configuration(); GPIO_Configuration(); NVIC_Configuration(); EXTI_Configuration(); delay_init(72); while (1) ; } |
|
相关推荐 |
|
你正在撰写答案
如果你是对答案或其他答案精选点评或询问,请使用“评论”功能。
232 浏览 2 评论
《DNK210使用指南 -CanMV版 V1.0》第九章 打印输出实验
182 浏览 0 评论
stm32f407+ksz8863rlli概率性ping不通
883 浏览 1 评论
嵌入式学习-飞凌嵌入式ElfBoard ELF 1板卡-常见网络服务搭建之NFS服务搭建
439 浏览 0 评论
求助:辉芒微芯片 FDM B11GBMH 的信息及开发环境安装
512 浏览 0 评论
【youyeetoo X1 windows 开发板体验】少儿AI智能STEAM积木平台
11318 浏览 31 评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-9-29 19:08 , Processed in 0.477216 second(s), Total 70, Slave 53 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号