发 帖  
[文章]

stm32学习教程13:恶搞,两只看门狗

2015-1-28 16:33:02  4878 STM32



g)        RCC初始化:只有软件看门狗需要时钟初始化,独立看门狗有自己的时钟不需要但是需要systic工作相关设置。
RCC_APB1PeriphClockCmd(RCC_APB1Periph_WWDG, ENABLE);  

h)        独立看门狗使用systic的中断来喂狗,所以添加systic的中断打开代码就行了。
软件看门狗需要在NVIC打开中断添加如下代码:

  1.   NVIC_InitStructure.NVIC_IRQChannel = WWDG_IRQChannel; //通道   NVIC_InitStructure.NVIC_IRQChannelPreemptionPriority = 0; //占先中断等级   NVIC_InitStructure.NVIC_IRQChannelSubPriority = 0;      //响应中断优先级   NVIC_Init(&NVIC_InitStructure);                        //打开中断  
复制代码


i)        中断程序,软件看门狗在自己的中断中喂狗,独立看门狗需要使用systic的定时中断来喂狗。以下两个程序都在STM32f10x_it.c文件中。 void WWDG_IRQHandler(void) {
  WWDG_SetCounter(0x7F);          //更新计数值 WWDG_ClearFlag();               //清除标志位 }  
void SysTickHandler(void)
{  IWDG_ReloadCounter();         //重启计数器(喂狗) }  
j)        注意事项:
i.        有狗平常没事情可以不理,但是千万别忘了喂它,否则死都不知道怎么死的! ii.        初始化程序的调用一定要在systic的初始化之后。
iii.        独立看门狗需要systic中断来喂,但是systic做别的用处不能只做这件事,所以我写了如下几句代码,可以不影响systic的其他应用,其他systic周期代码也可参考:
第一步:在stm32f10x_it.c中定义变量
int Tic_IWDG;           //喂狗循环程序的频率判断变量
第二步:将SysTickHandler中喂狗代码改为下面: Tic_IWDG++;             //变量递增
if(Tic_IWDG>=100)       //每100个systic周期喂狗 {  IWDG_ReloadCounter();//重启计数器(喂狗)   Tic_IWDG=0;          //变量清零 }

相关链接:
stm32学习教程16:题外话,自己做块工程板





0
2015-1-28 16:33:02   评论 分享淘帖 举报
2 个讨论
2017-7-5 19:18:04 评论

举报

2017-7-8 23:35:50 评论

举报

您需要登录后才可以回帖 登录/注册

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容图片侵权或者其他问题,请联系本站作侵删。 侵权投诉
快速回复 返回顶部 返回列表
关注微信公众号

电子发烧友网

电子发烧友论坛

社区合作
刘勇
联系电话:15994832713
邮箱地址:liuyong@huaqiu.com
社区管理
elecfans短短
微信:elecfans_666
邮箱:users@huaqiu.com
关闭

站长推荐 上一条 /6 下一条

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

威廉希尔官方网站 社区

HarmonyOS威廉希尔官方网站 社区

RISC-V MCU威廉希尔官方网站 社区

FPGA开发者威廉希尔官方网站 社区

-

OpenHarmony开源社区

OpenHarmony开源社区

-

嵌入式论坛

ARM威廉希尔官方网站 论坛

STM32/STM8威廉希尔官方网站 论坛

嵌入式威廉希尔官方网站 论坛

单片机/MCU论坛

RISC-V威廉希尔官方网站 论坛

瑞芯微Rockchip开发者社区

FPGA|CPLD|ASIC论坛

DSP论坛

-

电路图及DIY

电路设计论坛

DIY及创意

电子元器件论坛

专家问答

-

电源威廉希尔官方网站 论坛

电源威廉希尔官方网站 论坛

无线充电威廉希尔官方网站

-

综合威廉希尔官方网站 与应用

机器人论坛

USB论坛

电机控制

模拟威廉希尔官方网站

音视频威廉希尔官方网站

综合威廉希尔官方网站 交流

上位机软件(C/Python/Java等)

-

无线通信论坛

WIFI威廉希尔官方网站

蓝牙威廉希尔官方网站

天线|RF射频|微波|雷达威廉希尔官方网站

-

EDA设计论坛

PCB设计论坛

DigiPCBA论坛

Protel|AD|DXP论坛

PADS威廉希尔官方网站 论坛

Allegro论坛

multisim论坛

proteus论坛|仿真论坛

KiCad EDA 中文论坛

DFM|可制造性设计论坛

-

测试测量论坛

LabVIEW论坛

Matlab论坛

测试测量威廉希尔官方网站

传感威廉希尔官方网站

-

招聘/交友/外包/交易/杂谈

项目外包

供需及二手交易

工程师杂谈|交友

招聘|求职|工程师职场

-

官方社区

发烧友官方/活动

华秋商城

华秋电路