打印
[STM32F4]

STM32F103C8 TIM 配置完中断就 Hard Fault

[复制链接]
401|30
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
skyred|  楼主 | 2022-6-29 21:27 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式


现在检查配置问题,
其实,想问大家的 是,进入Hard Fault 的条件是什么?

想从条件返回去排除问题

使用特权

评论回复
沙发
gaoyang9992006| | 2022-6-30 08:52 | 只看该作者
通常这是硬件配置错误导致的。

使用特权

评论回复
板凳
gaoyang9992006| | 2022-6-30 08:53 | 只看该作者
你是手工代码配置还是用的cubeMX,建议你用cubeMX试试,另外厂家的BSP包有TIM例子,你可以跑一个试试。

使用特权

评论回复
地板
skyred|  楼主 | 2022-7-3 18:48 | 只看该作者
嗯,cube是个好东西

使用特权

评论回复
5
香水城| | 2022-7-3 21:10 | 只看该作者
一般是程序发生了非法访问导致的。

时钟、电源、中断、越界或非对齐都可能导致类似问题。

使用特权

评论回复
6
sonicll| | 2022-7-4 09:50 | 只看该作者
大概率是代码访问了不允许访问的总线地址,还有中断向量表如果放在了不能访问的地址,也会进hardfault

使用特权

评论回复
7
skyred|  楼主 | 2022-7-10 19:05 | 只看该作者
确实改了代码解决了问题,只是糊里糊涂的,没搞清原因

使用特权

评论回复
8
SantaBunny| | 2023-3-1 13:01 | 只看该作者
看贴出来的代码,main函数中并没有初始化系统时钟,清中断标志位。可再参考官方例程

使用特权

评论回复
9
belindagraham| | 2023-6-7 13:06 | 只看该作者
可以在HardFalut下断点,停下后看函数调用堆栈,看在产生HardFalut之前都调了什么函数。

使用特权

评论回复
10
adolphcocker| | 2023-6-8 13:40 | 只看该作者
可以使用调试工具进行诊断。               

使用特权

评论回复
11
pl202| | 2023-6-8 14:55 | 只看该作者
先看看是不是你任务栈空间设置太小,溢出了?

使用特权

评论回复
12
louliana| | 2023-6-8 15:12 | 只看该作者
数组越界操作; 内存溢出,访问越界; 堆栈溢出,程序跑飞; 中断处理错误;

使用特权

评论回复
13
rosemoore| | 2023-6-8 15:45 | 只看该作者
Keil MDK提供了硬件调试器和软件仿真等多种调试方式

使用特权

评论回复
14
robertesth| | 2023-6-8 15:56 | 只看该作者
通过调整代码、修改配置等方式解决Hard Fault问题。

使用特权

评论回复
15
jkl21| | 2023-6-8 23:04 | 只看该作者
在使用浮点数等特定数据类型时,必须保证堆栈对齐,否则可能会引发Hard Fault错误。

使用特权

评论回复
16
hudi008| | 2023-6-8 23:18 | 只看该作者
建议考虑是否出现了硬件错误从而进入了

使用特权

评论回复
17
Mowergy| | 2023-6-9 18:03 | 只看该作者
用调试工具诊断一下

使用特权

评论回复
18
Undshing| | 2023-6-9 22:27 | 只看该作者
是不是配置错误啊

使用特权

评论回复
19
robertesth| | 2023-6-10 17:46 | 只看该作者
在访问数组元素时,如果索引超出数组范围,则会导致Hard Fault错误。

使用特权

评论回复
20
AloneKaven| | 2023-6-10 23:03 | 只看该作者
这是配置的有问题吧

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

102

主题

740

帖子

3

粉丝