STM32程序进入hardfault_handler()

背景:

假期前一直在修改代码,没有边改边测。节后回来测试代码,发现程序上电后很快就进入hardfault_handler()中断。

导致程序反复复位。

查找原因:

在程序的_it.c文件里有几句代码,如果注释掉不执行,就不会进入hardfault_handler()中断。

很奇怪!

后来才发现,这几句代码里使用了一个变量,这个变量是在其他文件中定义的,所以在_it.c文件里是通过extern关键字引入的。引入的时候,后面的数据类型是uint16_t。而实际上变量定义的地方数据类型是uint8_t

这样一来,不就访问越界了吗!所以进入.hardfault_handler()。

要是keil软件能提示下这种错误就好了!

相关推荐
小郭团队1 分钟前
1_5_五段式SVPWM (传统算法反正切+DPWM1)算法理论与 MATLAB 实现详解
人工智能·嵌入式硬件·算法·dsp开发
vsropy4 分钟前
keil5无法注释中文
stm32·单片机
csdn_te_download_00439 分钟前
Keil5安装教程 基于C51 安装教程与配置完全指南
stm32·单片机·嵌入式硬件
ベadvance courageouslyミ1 小时前
51单片机相关
单片机·51单片机·定时器·pwm·蜂鸣器·中断·独立按键
送外卖的工程师1 小时前
STM32F103 驱动 BMP280 气压温湿度传感器 + OLED 显示教程
stm32·单片机·嵌入式硬件·mcu·物联网·proteus·rtdbs
2501_927773071 小时前
嵌入式51单片机——中断
stm32·单片机·嵌入式硬件
玩转以太网2 小时前
WIZnet以太网单片机选型指南
单片机·嵌入式硬件·以太网
tianyazhichiC2 小时前
stm32f103 标准外设库下载
stm32·单片机·嵌入式硬件
小美单片机3 小时前
Proteus 报错 Unable to open HEX file ‘..\1、程序\jio\jtd.hex‘. [U1]
c语言·单片机·嵌入式硬件·51单片机·proteus