你的浏览器版本过低,可能导致网站不能正常访问!
为了你能正常使用网站功能,请使用这些浏览器。

SPI的读不出数据,且进入HardFault_Handler(void)这个中断

[复制链接]
watercici 提问时间:2018-4-14 22:28 /
现在我的STM32通过SPI读取W25Q16的JEDEC ID是正确,但是从首次地址0X000000,用0X03读指令却读不出数据,程序直接进入了HardFault_Handler(void)这个中断,想知道是为什么?
收藏 评论10 发布时间:2018-4-14 22:28

举报

10个回答
watercici 回答时间:2018-4-16 11:20:22
本帖结贴了!!!!!
这个问题主要是我的读取函数里有一个结构体指针参数,我在定以这个结构体指针的时候,没有给他赋初值。
Flash_Read_Data(HeadAddr,sizeof(LoadSaveData),(u8*)LoadSaveData);就是“(u8*)LoadSaveData”这个结构体指针,我没有给它赋初值。

评分

参与人数 1蝴蝶豆 +3 收起 理由
zero99 + 3 结帖奖励

查看全部评分

Cortexxx 回答时间:2018-4-15 00:05:59
应该是其他中断引起的吧或者时序上的问题   当程序跑飞的时候才会进入HardFault_Handler()

评分

参与人数 1蝴蝶豆 +3 收起 理由
zero99 + 3

查看全部评分

maxtch 回答时间:2018-4-15 01:22:24
尝试追踪一下是什么原因进入的 HardFault(看一下 Cortex-M 核心 SCB 里面的数据)然后再来确定问题出在哪里。

评分

参与人数 1蝴蝶豆 +2 收起 理由
zero99 + 2

查看全部评分

feixiang20 回答时间:2018-4-15 05:22:34
检测标志位,查看标准库,函数,定义好接收位置

评分

参与人数 1蝴蝶豆 +2 收起 理由
zero99 + 2

查看全部评分

andey 回答时间:2018-4-15 23:36:46
提示: 作者被禁止或删除 内容自动屏蔽
watercici 回答时间:2018-4-16 08:26:59
andeyqi 发表于 2018-4-15 23:36
根据hardfault的状态寄存器判断下是什么导致的,对于定位问题应该会有帮助

好的,谢谢,我试试
andey 回答时间:2018-4-16 09:17:37
提示: 作者被禁止或删除 内容自动屏蔽
butterflyspring 回答时间:2018-4-16 10:50:00
你先从hardfault看看是什么问题...我觉得是指针问题比较大..

HardFault的诊断.pdf

下载

226.79 KB, 下载次数: 70, 下载积分: ST金币 -1

评分

参与人数 1蝴蝶豆 +2 收起 理由
zero99 + 2

查看全部评分

watercici 回答时间:2018-4-16 11:16:55
butterflyspring 发表于 2018-4-16 10:50
你先从hardfault看看是什么问题...我觉得是指针问题比较大..

谢谢,我刚下载了这个,帮助很大,而且我也知道我的问题出在哪里了。问题是我只定以了结构体指针,没有给这个指针赋初值。谢谢!
watercici 回答时间:2018-4-16 11:18:17
andeyqi 发表于 2018-4-16 09:17
http://github.com/armink/CmBacktrace.git  这个开源的软件 能解析hardfault 可以加入到工程里 ...

给常感谢,资料很棒,我学习一下

所属标签

相似问题

关于
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
意法半导体官网
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
官方最新发布
STM32N6 AI生态系统
STM32MCU,MPU高性能GUI
ST ACEPACK电源模块
意法半导体生物传感器
STM32Cube扩展软件包
关注我们
st-img 微信公众号
st-img 手机版