找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 389|回复: 5
收起左侧

stm32单片机硬件报错

[复制链接]
ID:1094287 发表于 2025-8-4 08:54 | 显示全部楼层 |阅读模式

有没有大佬知道stm32f103c8t6单片机出现硬件报错中断通过堆栈读出的程序地址在反汇编窗口中跳转,却跳到一个没有意义的地址是什么问题吗
屏幕截图 2025-08-04 085400.png
回复

使用道具 举报

ID:276663 发表于 2025-8-4 11:18 | 显示全部楼层
一般hardfault是内存使用溢出或越区了,检查定义的buff的长度,和使用buff的位置,复制或者赋值的时候使用的长度是不是会超出范围。
回复

使用道具 举报

ID:1094287 发表于 2025-8-4 16:41 | 显示全部楼层
IdeaMing 发表于 2025-8-4 11:18
一般hardfault是内存使用溢出或越区了,检查定义的buff的长度,和使用buff的位置,复制或者赋值的时候使用 ...

程序停到硬件异常时我看了看主栈寄存器的值并没有越界,不过将一个定时器的初始化下移,程序就正常能跑,所以现在怀疑是不是中断配位的有问题
回复

使用道具 举报

ID:294886 发表于 2025-8-4 18:41 | 显示全部楼层
十有八九是数组越界,仔细检查代码
回复

使用道具 举报

ID:542270 发表于 2025-8-5 14:08 | 显示全部楼层
核实你的代码存储大小与你开出来的存储。
回复

使用道具 举报

ID:879809 发表于 2025-8-5 16:08 | 显示全部楼层
是不是你没写hardfault中断处理程序啊?默认库函数里面都有个B.的。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表