ena 发表于 2024-2-20 10:54

GD32单片机在不打开看门狗的情况下频繁复位

<p>使用的是GD32F305的片子,库使用的是ST的,延时使用的是滴答定时器(网上搜的),目前的现象是,在调试阶段(main开头不启用读保护,不打开看门狗),当达到一定的延时时间后,会复位。(并不是刚开始一到延时就复位,根据调试好像是当LSIRDY准备好后就复位,具体不是太清楚)。当进入正式程序后,不产生复位。请问各位大神这是什么原因?</p>

wangerxian 发表于 2024-2-20 17:24

<p>你尝试把滴答时钟的初始化去了,看看还复位不。</p>

秦天qintian0303 发表于 2024-2-21 09:08

<p>GD32F305应该和GD32F303是一样的,目前使用GD32F303没有遇到过这个问题,大概率是程序问题,建议使用GD自己的例程库对比看一下</p>

秦天qintian0303 发表于 2024-2-21 09:09

<p>还有就是使用30X系列好像移植的时候需要注意一些东西,不是直接移植就可以的</p>

chunyang 发表于 2024-2-21 18:16

<p>不开看门狗会复位?只能说楼主搞错了。</p>

艾默生321 发表于 2024-2-21 19:01

可能需要重新调试一下时钟配置

inkinessray 发表于 2024-2-22 08:34

<p>GD使用ST的标准库&nbsp; 偶尔会出现奇奇怪怪的问题,我遇到过!</p>

damiaa 发表于 2024-2-22 09:05

本帖最后由 damiaa 于 2024-2-22 09:14 编辑

<p>&nbsp;</p>

<p>不是只有看门狗复位。 电源复位&nbsp;&nbsp; 复位IO引起的复位等都由可能。据说可以这样:上电就打印RCU_RSTSCK寄存器的值,几次就可以看到结果。</p>

<p>void Howrest(void)<br />
{</p>

<p>&nbsp;&nbsp;&nbsp;&nbsp; unsigned long val = RCU_RSTSCK;</p>

<p>&nbsp;&nbsp;&nbsp;&nbsp;<span style="color:#e74c3c;"> printf(&quot;\r\nRCU_RSTSCK = %lx\r\n&quot;,val);//一位一位的对照</span><br />
&nbsp;&nbsp;&nbsp;&nbsp; rcu_all_reset_flag_clear();</p>

<p>}</p>

<p>&nbsp;</p>

牧封奇 发表于 2024-11-12 22:58

楼主解决了吗,我也出现了这个问题,没有启用看门狗,却频繁出现看门狗复位,使用的gd32F103

wenshiguang 发表于 2024-11-14 17:41

这个能不能是芯片的设计问题呢, 楼主问题解决了吗,看来遇到这个问题的不少呢

牧封奇 发表于 2024-11-18 10:22

wenshiguang 发表于 2024-11-14 17:41
这个能不能是芯片的设计问题呢, 楼主问题解决了吗,看来遇到这个问题的不少呢

<p>解决了,很奇怪的问题,我使用的标准库2.3.0例程跑的程序,代码里面明明没有使能看门狗中断,但是就是会出现看门狗中断,后面使能了看门狗,并且进行喂狗就行了,感觉库函数里面有哪一步自动启用了看门狗</p>
页: [1]
查看完整版本: GD32单片机在不打开看门狗的情况下频繁复位