Stm32F429 在keil 调试状态下可运行,但单独加电后无法运行的问题
今天碰到了这个问题,在加了加了FreeRtos操作系统的F429板子上,调试状态下一切正常,脱离调试环境,重新加电后板子毫无反应,无任何数据输出。
- 将之前其他程序烧入板子,工作正常,排除硬件问题。
- 将板子加强供电,故障依旧,排除供电问题。
- 那么基本可以确定问题出在这一版的程序代码上,将程序回滚到上一版本,故障消失,确认问题出在此版本的软件设计上,很快找到了原因
在stm32f4xx_it.c文件中有如下代码:
/**
* @brief This function handles EXTI line0 interrupt.
*/
void EXTI0_IRQHandler(void)
{
if (LL_EXTI_IsActiveFlag_0_31(LL_EXTI_LINE_0) != RESET

STM32F429开发中遇到一个问题,程序在Keil调试环境下运行正常,但独立运行时无法启动。经过排查,硬件和供电均无问题,问题定位在软件设计上。在中断处理函数EXTI0_IRQHandler中,一个自定义的宏检查导致了问题。调试状态下的中断时序与实际运行时不同,导致中断触发时对象未正确初始化,引发异常。移除宏检查后,故障得以解决。
3万+

被折叠的 条评论
为什么被折叠?



