angmall 发表于 2023-12-23 11:22:29

liuyang21168 发表于 2023-12-23 08:51
我也感觉像看门狗的最大溢出时间导致复位,还有掉电唤醒定时器大约也是这个时间溢出,在程序开始的地方,需 ...



有没有可能,你在ISP下载时,启动了看门狗。


注意:看门狗定时器可使用软件方式启动,也可硬件自动启动,一旦看门狗定时器启动后,软件
将无法关闭,必须对单片机进行重新上电才可关闭。软件启动看门狗只需要对 EN_WDT 位写 1
即可。若需要硬件启动看门狗,则需要在 ISP 下载时进行如下图所示的设置:







liuyang21168 发表于 2023-12-23 14:19:14

我在读EEPROM时启动了看门狗:

        START_WDT(); // 启动看门狗
        for (i = 0; i < u16Len; i++)
        {
                pbyDest = IapReadByte(uiAddr + i);
                RESET_WDT(); // 复位看门狗
        }
        STOP_WDT(); // 停止看门狗
如果 uiAddr 超出了EEPROM的地址范围,会不会导致IapReadByte(uiAddr + i)函数不能结束,结果饿死了看门狗?

_奶咖君_ 发表于 2023-12-23 14:29:06


虽然我是8H手册 但是在看门狗这里 STC的做法是一脉相传。 一旦开启 软件不允许关闭

liuyang21168 发表于 2023-12-24 09:01:39

有些回复怎么被删除了,是管理员删除的,还是被黑客删除的?

神农鼎 发表于 2023-12-24 10:31:59

liuyang21168 发表于 2023-12-24 09:01
有些回复怎么被删除了,是管理员删除的,还是被黑客删除的?

有些恶意灌水,被自动删除,可能关联到这了

神农鼎 发表于 2023-12-24 10:39:33


把这个程序烧进去测试下:
没问题,就是你原软件有问题
有问题,就是你硬件有问题


liuyang21168 发表于 2023-12-24 11:03:04

非常感谢各位高手的指点,软件复位的问题已经解决。
因为我没有仔细阅读stc15的数据手册,看门狗启动后,不能停止。
我一直认为看门狗可以用指令停止,所以没有按时喂狗,导致
出现看门狗溢出复位。

shanmudadao 发表于 2023-12-25 09:14:50

_奶咖君_ 发表于 2023-12-23 08:33
咋感觉上开了看门狗,没有喂,被狗咬死的说

{:4_250:}

_奶咖君_ 发表于 2023-12-25 09:24:32

shanmudadao 发表于 2023-12-25 09:14


以前出过一样的问题,,,就有这样的经验了,,其实还是自己看手册不认真,想当然了。。所以手册很重要

lzl1okOK 发表于 2023-12-25 14:55:34

是不是开看门狗了,没喂狗?
页: 1 [2] 3
查看完整版本: 求助:STC15W4K48S4间隔10多秒就复位重启一次,什么原因?