//会进入 void HardFault_Handler(void) 中断
// LR保存的是下一个函数的入口地址 PC为0
void (*NULL_Function)(void);
NULL_Function = 0;
NULL_Function();
// LR保存的是上一个函数的入口地址 PC指向当前位置
// uint32_t u32Addr = ((uint32_t)0x5FFFFFFF); //定义一个单片机不存在的地址
// uint32_t u32StackTop = *((__IO uint32_t *)u32Addr); //读取这个不存在的地址
文章讨论了在单片机编程中,尝试读取一个未定义的内存地址(0x5FFFFFFF)会导致程序进入HardFault_Handler中断处理的情况。

236

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



