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

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管理
行使您的权利
官方最新发布
STM32Cube扩展软件包
意法半导体边缘AI套件
ST - 理想汽车豪华SUV案例
ST意法半导体智能家居案例
STM32 ARM Cortex 32位微控制器
关注我们
st-img 微信公众号
st-img 手机版