历史上的今天
返回首页

历史上的今天

今天是:2024年09月05日(星期四)

正在发生

2018年09月05日 | STM32的IWDG使用

2018-09-05 来源:eefocus

关于独立看门狗,很简单,打开喂狗,就这么简单,很多书上讲了很多什么寄存器什么的,对于初学者而言,这些还不是很重要,重要的是先学会用,用了之后慢慢去消化,为什么这东西要这么设置。好了下面来看看我的程序,很简单:

void Iwdg_Init(void)
{
IWDG_WriteAccessCmd(IWDG_WriteAccess_Enable);
IWDG_SetPrescaler(IWDG_Prescaler_256);
IWDG_SetReload(0xfff);//设置这个就可以调整IWDG的喂狗时间
//如果在这段时间内没有喂狗,那么就会重启
IWDG_ReloadCounter();
IWDG_Enable();
IWDG_ReloadCounter();  

}

然后下面是我的主函数调用和基本逻辑

#define FEEDING_DOG

int main(void)
{
   u32 sys_clk = SystemCoreClock;
   //打开时钟
   RCC_APB2PeriphClockCmd( RCC_APB2Periph_AFIO|RCC_APB2Periph_GPIOB|RCC_APB2Periph_GPIOA|RCC_APB2Periph_GPIOC|RCC_APB2Periph_USART1,ENABLE);
   gpio_configuration();
   UsartInit();
   NVICInit();
   delay_init();
   interrupt_init();
  Iwdg_Init();

//实现100MS的闪烁
   GPIO_ResetBits(GPIOC, GPIO_Pin_8);//light off
delay_ms(100);
GPIO_SetBits(GPIOC, GPIO_Pin_8);
delay_ms(100);
GPIO_ResetBits(GPIOC, GPIO_Pin_8);//light off
delay_ms(100);
GPIO_SetBits(GPIOC, GPIO_Pin_8);
delay_ms(100);
GPIO_ResetBits(GPIOC, GPIO_Pin_8);//light off
delay_ms(100);
GPIO_SetBits(GPIOC, GPIO_Pin_8);
delay_ms(100);
   while(1)
   {

//正常情况下,实现1S的闪烁
GPIO_ResetBits(GPIOC, GPIO_Pin_8);//light off
delay_ms(1000);
GPIO_SetBits(GPIOC, GPIO_Pin_8);
delay_ms(1000);

#if FEEDING_DOG

IWDG_ReloadCounter();

#endif
   }

}

简单说一下这个逻辑,在正常情况下(没有看门狗或者喂狗正常),开机的时候出现快速闪烁,闪烁几次之后,然后以1HZ的频率进行闪烁。

好了,如果现在打开了看门狗,没有喂狗的话,就会出现,不停的出现快速闪烁。

如果喂狗成功,就会出现1S喂一次狗的情况。


推荐阅读

史海拾趣

AEM [ American Electronic Materials]公司的发展小趣事

在电子行业的发展过程中,AEM始终保持着对技术创新的追求。公司不断投入巨资进行技术研发,引进先进的生产设备和制造工艺,致力于提升产品的性能和品质。通过多年的努力,AEM成功突破了多项技术难题,取得了一系列重要的技术成果。

此外,AEM还积极与产业上下游的企业进行合作,共同推动电子行业的发展。通过与供应商和客户的紧密合作,AEM不断优化供应链和销售渠道,提高了公司的运营效率和市场竞争力。

BSI公司的发展小趣事

在电子行业的初期,由于缺乏统一的标准,各种电子产品之间的兼容性和互通性成为了一个大问题。这时,BSI作为国际标准化组织的重要参与者,积极推动了电子产品的标准化工作。通过与各国政府、行业协会和企业的合作,BSI制定了一系列电子产品的标准,为行业的发展提供了可靠的参考依据。这些标准的出台,极大地促进了电子产品的互通性和兼容性,推动了电子行业的健康发展。

Horn公司的发展小趣事

在追求经济效益的同时,Horn公司也注重可持续发展。公司积极采用环保材料和绿色生产工艺,减少对环境的影响。此外,Horn公司还注重人才培养和团队建设,为公司的长期发展奠定了坚实的人才基础。展望未来,Horn公司将继续秉承“创新、质量、服务”的企业理念,致力于成为切削工具行业的领导者,为全球客户提供更加优质的产品和服务。

EDSYN公司的发展小趣事

为了帮助客户更便捷地将设备连接到物联网,Econais与Xively展开了合作。通过这一合作,Econais的WiSmart Wi-Fi用户可以无缝连接到Xively云,为工业、商业和住宅市场带来了创新的医疗保健、智能能源、无线音频控制和监控产品。这种一站式的物联网解决方案大大加快了物联网产品的上市时间,同时也降低了产品的开发成本。

Advanced Technology Corp公司的发展小趣事

随着科技的飞速发展,ATC公司始终保持着对技术创新的热情与追求。公司不断投入研发资源,引进先进设备和技术人才,致力于开发更具创新性和实用性的电子产品。经过多年的努力,ATC公司在多个技术领域取得了重要突破,推出了一系列具有行业影响力的创新产品,赢得了市场的广泛认可。

Econais公司的发展小趣事

作为一家在电子行业有影响力的企业,Econais深知自己的社会责任。公司积极参与各种公益活动,并致力于推动可持续发展。Econais的产品在设计时就考虑到了环保因素,采用低功耗技术减少能源消耗,并选用环保材料降低对环境的影响。此外,Econais还通过技术创新帮助其他企业实现节能减排的目标。

以上五个故事概述了Econais在电子行业发展中的一些重要里程碑和关键事件。这些故事不仅展示了Econais的技术实力和市场竞争力,也体现了公司的社会责任感和可持续发展的理念。

问答坊 | AI 解惑

求助:ARM7不支持标准的malloc函数?

各位大侠们:     今天晚上,我在写ARM7软件时,使用了\"stdlib。h\"库中的\"malloc\"函数,结果片子不能运行。     后来一老师给我说,不带内存管理的ARM7不支持标准的malloc函数,这是什么原因啊?     可我记 ...…

查看全部问答>

uC/OS-II移植到瑞萨SH2A平台详解及源代码,欢迎交流

刚移植好的。 因为不能上传附件 大家可邮箱咨询我 我可以把工程包发给你们。 以下为移植说明..... --------------------------------------------------------------------------------------------------------------- AUTHOR: 邱庆康 ...…

查看全部问答>

请问:在EVC4.0中怎么使用IImage接口呢?

各位高手:我想在对话框中显示许多jpg的缩略图,看帖子说IImage接口能实现,但是怎么使用呢,谢谢大家!…

查看全部问答>

关于异步的multicycle 分析

两个时钟 ,什么时候check setup 什么时候check hold一直没搞清楚按道理来说 慢时钟到快时钟 快时钟会有multicycle也就是不是每一个快时钟的沿都是caputure edge快时钟到慢时钟 快时钟会有multicycle不是每一个快时钟的沿都是lunch edge两个都是快 ...…

查看全部问答>

STM8固件库如何使用?

                                 STM8固件库如何使用?stvd comsic 建工程都需要配置固件库吗?…

查看全部问答>

3000W谐振功放电源,高压部份打火问题

这是超声波塑焊机的电源,原电路用NPN功率管组成的半桥驱动.现改用IGBT来驱动,输入信号为15KHZ左右方波,现在出现如问题,请各位前辈指点一下? 1,在信号刚刚引入一瞬间,驱动变压器输入的方波出现很高的电压, 见图2黑色标注部份,负载两端+ -极间出现 ...…

查看全部问答>

有关RL78G14调试程序的几个疑问!

参考了 \"RL78/G14 用户手册 硬件篇\" 第30章 闪存部分介绍 闪存区域的编程方法,共有如下 3 种: 1• 使用闪存编程器写入闪存 (参阅 30.1) 2• 使用外部器件写入闪存 (内置的 UART) (参阅 30.2) 3• 自编程 (参阅 30.7) ...…

查看全部问答>

关于串口通信,求大神送助攻

写了个很短的程序,只是想要发送字符。 程序如下: #include\"msp430f149.h\" void main(void) { WDTCTL = WDTPW + WDTHOLD; P3DIR |=0X10;//方向好像可以不设置 P3SEL |=0X30; UCTL0 |=CHAR; U0TCTL |=SSEL0; UBR00=0X03; UBR10=0X00; ...…

查看全部问答>