|
我做的一个板子上用STM32F103RET6的PB8的IO管脚来接收外部轻触按键输入的中断。我将这个PB8初始化并使能后运行,不去按轻触按键时发现程序总是不断的触发中断,使程序总是处于中断服务当中服务当中。下面是我的中断初始化和中断处理函数的代码,显示输出的计数器在不断的加一计数。这个PB8的管脚只连接了轻触按键,PB8通过10K电阻上拉到3.3V。我用示波器探了这个PB8也没发现有触发中断的脉冲产生,是一个平稳的3.3V。不知道出了什么问题,还望路过的大侠指点小弟。 - N7 U7 }: s5 e, [ void Exti_IOPort_Init(void) { EXTI_InitTypeDef EXTI_InitStructure;/ i3 ]% S; p/ q6 W/ r4 N" Z: A NVIC_InitTypeDef NVIC_InitStructure;) [3 d1 Q* V4 ]! `- R2 [+ y D z# U" T1 t; W" z. K5 R( T GPIO_EXTILineConfig(GPIO_PortSourceGPIOB, GPIO_PinSource8);6 I4 }" W) z2 o1 k 0 J5 f/ d& z0 m9 Z EXTI_InitStructure.EXTI_Line =EXTI_Line8;0 F+ M- l1 N$ I) ?2 _: I' h EXTI_InitStructure.EXTI_Mode = EXTI_Mode_Interrupt; EXTI_InitStructure.EXTI_Trigger = EXTI_Trigger_Rising; EXTI_InitStructure.EXTI_LineCmd = ENABLE; EXTI_Init(&EXTI_InitStructure);$ |! O& v$ x4 t7 \, w2 \ 5 E9 r w" C3 P0 u! [3 v2 I3 | NVIC_InitStructure.NVIC_IRQChannel = EXTI9_5_IRQn; NVIC_InitStructure.NVIC_IRQChannelPreemptionPriority = 3; NVIC_InitStructure.NVIC_IRQChannelSubPriority = 2; NVIC_InitStructure.NVIC_IRQChannelCmd = ENABLE;* Q9 I9 U2 z0 N- ]/ P& s NVIC_Init(&NVIC_InitStructure); } V1 d" c3 w! n% O 0 z8 N$ P# @6 _% \: v9 w$ p8 D void EXTI9_5_IRQHandler(void)' t# o" n' G4 e! B) Q { unsigned short Itemp; ITStatus ItState,FlagState; ItState = EXTI_GetITStatus(EXTI_Line8);( ?& K) @$ r0 |1 @ FlagState = EXTI_GetFlagStatus(EXTI_Line8); if((ItState != RESET) & (FlagState != RESET))" @+ ?' x, S2 Q1 m/ n {3 U7 m8 Q% E2 y. Y4 Q3 l KEY2_NUM++; EXTI_ClearITPendingBit(EXTI_Line8); EXTI_ClearFlag(EXTI_Line8);/ t- X/ A2 ^' h6 Z6 \4 H ShowString88(3, 0, "K2 On!Count:");* i% D% ]4 u& b8 H, @ ShowCharNum(3, 12, KEY2_NUM);7 w# w2 y( g1 Y }$ v! W. Z8 }* z! [% {9 l7 [+ y7 _ <span style="color: rgb(68, 68, 68); font-family: Tahoma, Helvetica, SimSun, sans-serif; line-height: 18px; background-color: rgb(238, 238, 238);"> for(Itemp=0;Itemp |
DMA 原理从 0 到 1:为什么它能解放 CPU?一文讲透 DMA 的工作流程
【福利三:雨露均沾·逢7狂欢】之五:STM32系统时钟PLL故障排除1例
【福利三:雨露均沾·逢7狂欢】之三:AI帮我查BUG
福利三:雨露均沾·逢7狂欢】之二:STM32F407VG串口通信乱码故障的排除
基于STM32F103的I2C主从机通信
OpenBLT移植到STM32F103战舰开发板上适用于所有STM32F103系列的Bootloader
TFT LCD 与 FSMC 的硬件连接大容量 STM32F10xxx FSMC 接口
单片机:初学者该了解的STM32F103基础知识
2025软件工具兔哥知道
STM32之继电器模块
微信公众号
手机版
RE:用STM32F103RET的PB8来做外部中断的问题
回复:用STM32F103RET的PB8来做外部中断的问题
不过还是谢谢二楼的建议。
我用到了GPIOG0-5一共6个按键,当我按下任意一个按键时 有可能其他按键的中断也会产生,我同样用示波器观察了STM32的引脚,都是稳定在3.3V。奇了怪了!/ s3 R! M/ _. Z1 N1 u) T- y
求指导!
我也遇到这个问题了,区别是一直进中断,每次都清标志了,还是不停的进,诶。