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

STM32F3 HardFault_Handler

[复制链接]
mcuyangyifan 提问时间:2015-10-14 14:33 /

uint32_t MAX35101UpFirstReadDoubleWord(char StartingAddress,uint32_t *Result)
{
        uint16_t dataRx1,dataRx2;
        StartingAddress |= 0x80;
        MAX35101UpFirstCSLow;
        SPI2ExchangeData(StartingAddress);
        dataRx1 = SPIReadWord(&dataRx1);
        dataRx2 = SPIReadWord(&dataRx2);
        MAX35101UpFirstCSHigh;
        *Result =  (dataRx2 + (uint32_t)(dataRx1 << 16));
        return *Result;
}
       执行这个函数的时候进入HardFault_Handler死循环,求助怎么处理?函数功能是从某个芯片中读取两个字,网上都说是接收缓冲区小了,请问各位怎么处理啊?

收藏 评论3 发布时间:2015-10-14 14:33

举报

3个回答
回答时间:2015-10-14 14:38:18
单步走看看哪句导致数据溢出了。
creep 回答时间:2015-10-14 14:44:18
有可能传进来的指针Result的地址不可写导致了fault。
具体方法可参考:如何找到导致程序出现HardFault的代码
johnsonz99 回答时间:2015-10-15 09:55:46
学习了..........
关于意法半导体
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
招聘信息
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
关注我们
st-img 微信公众号
st-img 手机版