OpenEdv-开源电子网

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

大家帮帮忙看看,~~~(这个)WWDG_SetCounter(WWDG_CNT)怎么调用~~~(这个) WWDG_Set_Counter(u8 cnt)的?

[复制链接]

2

主题

6

帖子

0

精华

新手上路

积分
34
金钱
34
注册时间
2013-4-29
在线时间
0 小时
发表于 2013-5-11 16:10:12 | 显示全部楼层 |阅读模式
                    //重设置WWDG计数器的值
~~~(这个)  void WWDG_Set_Counter(u8 cnt)
                        {
                           WWDG_Enable(cnt);//使能看门狗 , 设置 counter .  
                             }
                        //窗口看门狗中断服务程序
                          void WWDG_NVIC_Init()
                            {
                NVIC_InitTypeDef NVIC_InitStructure;
                NVIC_InitStructure.NVIC_IRQChannel = WWDG_IRQn;    //WWDG中断
                NVIC_InitStructure.NVIC_IRQChannelPreemptionPriority = 2;   //抢占2,子优先级3,组2
                    NVIC_InitStructure.NVIC_IRQChannelSubPriority = 3; //抢占2,子优先级3,组2
                NVIC_Init(&NVIC_InitStructure);//NVIC初始化
                          }

                         void WWDG_IRQHandler(void)
                    {

~~~(这个) WWDG_SetCounter(WWDG_CNT);  //当禁掉此句后,窗口看门狗将产生复位

                             WWDG_ClearFlag();  //清除提前唤醒中断标志位

                              LED1=!LED1; //LED状态翻转
                       }




是不是少了一个下划线(_)?






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

使用道具 举报

5

主题

10

帖子

0

精华

初级会员

Rank: 2

积分
89
金钱
89
注册时间
2017-5-30
在线时间
15 小时
发表于 2017-5-30 22:41:48 | 显示全部楼层
自己最近正在学,发表一下我的观点:
WWDG_CR寄存器的第七位WDGA是看门狗的激活位,该位由软件置1以启动看门狗,该位一旦置1后,就只能在硬件复位后清零,因此完整的程序里WWDG_Init()函数里WWDG_Enable()启动看门狗之后,接下来WDGA位软件即使写0也不会关闭看门狗,而WWDG_Enable()以及喂狗函数WWDG_SetCounter()唯一的区别就是关于WDGA位的设置。至于WWDG_Set_Counter()函数,提供的程序里只是定义了一下,中断函数里根本就没用到。
回复 支持 1 反对 0

使用道具 举报

15

主题

180

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
348
金钱
348
注册时间
2013-4-23
在线时间
25 小时
发表于 2013-5-11 16:48:15 | 显示全部楼层
回复【楼主位】yinhu:
---------------------------------
少没少,楼主gitodefinition就知道了
回复 支持 反对

使用道具 举报

15

主题

180

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
348
金钱
348
注册时间
2013-4-23
在线时间
25 小时
发表于 2013-5-11 16:49:17 | 显示全部楼层
回复【2楼】wobukansanguo:
---------------------------------
WWDG_SetCounter是MDK定义的和WWDG_Set_Counter不一样
回复 支持 反对

使用道具 举报

2

主题

6

帖子

0

精华

新手上路

积分
34
金钱
34
注册时间
2013-4-29
在线时间
0 小时
 楼主| 发表于 2013-5-11 16:56:25 | 显示全部楼层
回复【3楼】wobukansanguo:
---------------------------------但是明明是WWDG_SetCounter调用的 WWDG_Set_Counter,还是不明白?
回复 支持 反对

使用道具 举报

15

主题

180

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
348
金钱
348
注册时间
2013-4-23
在线时间
25 小时
发表于 2013-5-11 17:10:15 | 显示全部楼层
回复【4楼】yinhu:
回复【3楼】wobukansanguo: ---------------------------------但是明明是WWDG_SetCounter调用的 WWDG_Set_Counter,还是不明白?
---------------------------------
什么啊?那是2个函数的嘛
回复 支持 反对

使用道具 举报

2

主题

6

帖子

0

精华

新手上路

积分
34
金钱
34
注册时间
2013-4-29
在线时间
0 小时
 楼主| 发表于 2013-5-11 17:17:46 | 显示全部楼层
你可以看看原子哥的视频,第12讲。或许是我理解错了吧!求原子哥帮助……
回复 支持 反对

使用道具 举报

2

主题

6

帖子

0

精华

新手上路

积分
34
金钱
34
注册时间
2013-4-29
在线时间
0 小时
 楼主| 发表于 2013-5-11 17:44:06 | 显示全部楼层
刚才我试了一下,把下面的WWDG_SetCounter(WWDG_CNT)改成WWDG_Set_Counter(WWDG_CNT)后,效果是一样的!!!为什么?求原子哥帮助!
回复 支持 反对

使用道具 举报

2

主题

6

帖子

0

精华

新手上路

积分
34
金钱
34
注册时间
2013-4-29
在线时间
0 小时
 楼主| 发表于 2013-5-11 18:25:05 | 显示全部楼层
明白了,两个函数的效果一样!把WWDG_SetCounter(WWDG_CNT)改成WWDG->CR=0x0000007F也行的,或者是FF,6F,5F,4F,只要大于40H就行!WDGA位初始化时已经置1,置位一次就激活看门狗了!不知道自己理解对不对。求交流。
回复 支持 反对

使用道具 举报

0

主题

2

帖子

0

精华

初级会员

Rank: 2

积分
54
金钱
54
注册时间
2014-10-23
在线时间
3 小时
发表于 2015-2-3 17:09:15 | 显示全部楼层
回复【8楼】yinhu:
---------------------------------
您好,我也是这里不懂呢,但是跟您理解的差不多,这个地方是一个喂狗吧!
回复 支持 反对

使用道具 举报

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

本版积分规则



关闭

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

正点原子公众号

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

GMT+8, 2025-8-20 17:54

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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