|
STM32F1外部中断异常故障的解决办法 在一个STM32F103RB的应用中,需要在PA8引入外部中断,当中断到来时写Flash保存实时数据。配置为上拉输入、下降沿触发: GPIO_InitStruct.Pin = GPIO_PIN_8; GPIO_InitStruct.Mode = GPIO_MODE_IT_FALLING; GPIO_InitStruct.Pull = GPIO_PULLUP; HAL_GPIO_Init(GPIOA, &GPIO_InitStruct); HAL_NVIC_SetPriority(EXTI9_5_IRQn, 0, 0); HAL_NVIC_EnableIRQ(EXTI9_5_IRQn); 运行中发现执行每条指令的时间都很长,刷新一次LCD的时间达到秒级。检查代码和硬件都找不到原因。怀疑与外部中断有关,先禁止PA8的外部中断,整机工作恢复正常,重点排查PA8的外部中断部分。PA8的中断是从+12V供电采样的,当+12V掉电瞬间写Flash。用示波器测量PA8,发现一直有极短暂下降沿干扰脉冲出现,分析故障原因是不断出现的下降沿干扰脉冲触发PA8一直中断,一直在写Flash。 解决办法,在PA8对地并接一电容,故障解决。 |
STM32中断响应延迟优化:从NVIC配置到DMA加速的极致性能调优
基于STM32串口中断之缓存区溢出卡死经验分享
基于STM32数组越界异常中断经验分享
基于STM32之数组越界异常中断经验分享
基于STM32连接参数更新进程后导致断连的问题分析
基于STM32连接参数更新进程后导致断连的问题分析
基于STM32的定时器不按设定超时产生中断
基于STM32利用TIMER事件和栈帧体验中断响应经验分享
基于STM32外部中断原理和配置代码经验分享
基于stm32定时器定时中断经验分享
微信公众号
手机版