单片机运行时自动复位 | 已解决,程序问题
各位大佬请教一个问题,我使用的是8H4K64TL,使用过程中使用少量代码运行正常,只要再增加一些就会自动复位,就是程序跑到循环的时候没一会又从头开始运行,循环当中的代码都没运行完,感觉上是单片机自动复位了。实际的代码都没超过3k,8H4K64TL有64k的空间,找了一下午也没找出什么原因,有没有大佬遇到过这种问题。还有,看门狗定时器我没有使用,应该不是他的问题吧,或者说需要手动关闭吗。
已解决,是定时器2默认开启了自己没有注意,并且没有写中断服务函数,所以程序跑飞了,研究了一整天,后面发现是这种低级错误,呜呜呜呜 本帖最后由 布丁橘长 于 2024-8-24 20:39 编辑
看到过一个帖子,说32G12K128的edata 超过3900会导致一些问题
不知到楼主的8H4K64UTL的edata使用情况如何
本帖最后由 晓飛飛 于 2024-8-24 21:14 编辑
1,代码中如果有野指针,或者强制跳转等非结构代码,容易出现跑飞复位的情况,
2,看门狗需要主动开启,或者ISP下载时勾选启动,默认是不会启动的,能排除看门狗的问题。
布丁橘长 发表于 2024-8-24 20:38
看到过一个帖子,说32G12K128的edata 超过3900会导致一些问题
8051有data(直接访问128)和idata(间接访问256)没有edata 我的8H4K64TLCD,5K多没有问题 DebugLab 发表于 2024-8-24 21:17
8051有data(直接访问128)和idata(间接访问256)没有edata
对哦,搞错了,以为和32G一样
那得考虑其他原因了,没有代码和硬件图,只能猜测 程序while循环开始之前加入一个uart发送开始,跑几次就知道是不是复位了。 检查供电、信号接线
检查程序是不是while之前写的有问题 盲猜下载的时候勾选了硬件开启看门狗{:4_200:} 已解决,是定时器2默认开启了自己没有注意,并且没有写中断服务函数,所以程序跑飞了,研究了一整天,后面发现是这种低级错误,呜呜呜呜
页:
[1]
2