OpenEdv-开源电子网

 找回密码
 立即注册
正点原子全套STM32/Linux/FPGA开发资料,上千讲STM32视频教程免费下载...
查看: 6645|回复: 13

原子哥好,问个硬件错误中断相关问题

[复制链接]

3

主题

16

帖子

0

精华

初级会员

Rank: 2

积分
62
金钱
62
注册时间
2022-1-11
在线时间
17 小时
发表于 2022-8-1 17:05:01 | 显示全部楼层 |阅读模式
1金钱
原子哥我正在做MLX90640热成像传感器模块,我再配置IIC过程中发现我的程序无法配置IIC引脚,无论是用库函数配置还是寄存器配置,总会在IIC_Init结束后进入HardFault_Handler,请问这个问题出在哪里呢?下附工程文件

MLX90640 v0.1.zip

6.67 MB, 下载次数: 1

正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

3

主题

16

帖子

0

精华

初级会员

Rank: 2

积分
62
金钱
62
注册时间
2022-1-11
在线时间
17 小时
 楼主| 发表于 2022-8-1 20:24:18 | 显示全部楼层
另外我根据MSP到memory1中寻找压栈的进程地址,相应的进程地址为0
QQ截图20220801202353.png
回复

使用道具 举报

3

主题

16

帖子

0

精华

初级会员

Rank: 2

积分
62
金钱
62
注册时间
2022-1-11
在线时间
17 小时
 楼主| 发表于 2022-8-1 20:28:30 | 显示全部楼层
此程序中使用的引脚配置函数
void IIC_Init(void)
{
        RCC->APB2ENR|=1<<3;                //先使能外设IO PORTB时钟                                                          
        GPIOB->CRL&=0X00FFFFFF;        //PB6/7 推挽输出
        GPIOB->CRL|=0X33000000;          
        GPIOB->ODR|=3<<6;             //PB6,7 输出高
}
回复

使用道具 举报

11

主题

2131

帖子

0

精华

论坛元老

Rank: 8Rank: 8

积分
4728
金钱
4728
注册时间
2015-1-10
在线时间
590 小时
发表于 2022-8-2 09:38:35 | 显示全部楼层
回复

使用道具 举报

14

主题

821

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
2070
金钱
2070
注册时间
2021-7-17
在线时间
647 小时
发表于 2022-8-2 10:10:48 | 显示全部楼层
帮顶   
回复

使用道具 举报

3

主题

805

帖子

0

精华

论坛元老

Rank: 8Rank: 8

积分
3831
金钱
3831
注册时间
2017-3-7
在线时间
1671 小时
发表于 2022-8-2 10:17:49 | 显示全部楼层
通信程序会出硬件错误吗,一般是指针操作,堆操作,栈溢出才会吧
回复

使用道具 举报

0

主题

668

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1926
金钱
1926
注册时间
2021-8-13
在线时间
262 小时
发表于 2022-8-2 10:45:31 | 显示全部楼层
帮顶   
回复

使用道具 举报

80

主题

931

帖子

0

精华

论坛元老

Rank: 8Rank: 8

积分
3345
金钱
3345
注册时间
2013-5-28
在线时间
468 小时
发表于 2022-8-2 11:29:03 | 显示全部楼层
看着程序写法好像没什么问题.
你看下是不是端口有短路在不让上下拉
回复

使用道具 举报

3

主题

16

帖子

0

精华

初级会员

Rank: 2

积分
62
金钱
62
注册时间
2022-1-11
在线时间
17 小时
 楼主| 发表于 2022-8-2 16:37:16 | 显示全部楼层
阿侑kevin 发表于 2022-8-2 09:38
参考:https://blog.csdn.net/u012308586/article/details/89546894?utm_medium=distribute.pc_relevant.no ...

我是按照这个做了,但是我的MSP的地址在MEMORY1中没有有效地址
回复

使用道具 举报

3

主题

16

帖子

0

精华

初级会员

Rank: 2

积分
62
金钱
62
注册时间
2022-1-11
在线时间
17 小时
 楼主| 发表于 2022-8-2 16:38:24 | 显示全部楼层
a5820736 发表于 2022-8-2 10:17
通信程序会出硬件错误吗,一般是指针操作,堆操作,栈溢出才会吧

我这个程序就是在IIC_Init这个配置引脚的函数结束后才进入Hardfault_Handler的,我也觉得很奇怪
回复

使用道具 举报

3

主题

16

帖子

0

精华

初级会员

Rank: 2

积分
62
金钱
62
注册时间
2022-1-11
在线时间
17 小时
 楼主| 发表于 2022-8-2 16:42:03 | 显示全部楼层
请问这是代表数组越界了吗?
QQ截图20220802164132.png
回复

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165371
金钱
165371
注册时间
2010-12-1
在线时间
2110 小时
发表于 2022-8-3 23:31:36 | 显示全部楼层
遇到困难睡大觉 发表于 2022-8-2 16:42
请问这是代表数组越界了吗?

这是跑飞了...
我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺http://openedv.taobao.com
正点原子官方微信公众平台,点击这里关注“正点原子”
回复

使用道具 举报

3

主题

16

帖子

0

精华

初级会员

Rank: 2

积分
62
金钱
62
注册时间
2022-1-11
在线时间
17 小时
 楼主| 发表于 2022-8-11 17:44:13 | 显示全部楼层

原子哥请问这种程序跑飞的情况应该怎么排查啊?我来回看了好几遍没有看出问题,后来又重新创建了一个HAL库的,同样也会跑飞,但是官方给定F405的就不会

MLX90640_V_0.3(HAL).zip

7.86 MB, 下载次数: 0

回复

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165371
金钱
165371
注册时间
2010-12-1
在线时间
2110 小时
发表于 2022-8-12 01:17:23 | 显示全部楼层
遇到困难睡大觉 发表于 2022-8-11 17:44
原子哥请问这种程序跑飞的情况应该怎么排查啊?我来回看了好几遍没有看出问题,后来又重新创建了一个HAL ...

仿真找问题啊
我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺http://openedv.taobao.com
正点原子官方微信公众平台,点击这里关注“正点原子”
回复

使用道具 举报

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

本版积分规则



关闭

原子哥极力推荐上一条 /2 下一条

正点原子公众号

QQ|手机版|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2025-2-26 06:54

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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