STM323 IWDG独立看门狗,功能和相关介绍就不用再作说明了,配置过程如下
// 配置步骤:
// 1、向IWDG_KR写入0x5555,取消IWDG_PR和IWDG_RLR的写保护;
// 2、配置IWDG_PR(分频值)和IWDG_RLR(重装置)的值;
// 3、向IWDG_KR写入0xAAAA,喂一次狗,使STM32重新加载IWDG_RLR的值
// 4、向IWDG_KR写入0xCCCC,启动看门狗,记得在程序相关处每隔一段时间喂狗
相应代码程序:
IWDG_WriteAccessCmd(IWDG_WriteAccess_Enable);
IWDG_SetPrescaler(IWDG_Prescaler_8);
IWDG_SetReload(0xFFF);
IWDG_ReloadCounter();
IWDG_Enable();
其中关于喂狗时间计算,请看下表:
举个例子:
如果 IWDG_SetPrescaler(IWDG_Prescaler_8);即为8分频
IWDG_SetReload(0xFFF);
查看上表,可以得知,IWDG计时时间为8192.2ms,如果超过改时间段还没有进行喂狗程序,将视为程序跑飞,会执行初始化程序
表83来自互联网.
关键字:STM32 IWDG 喂狗时间
引用地址:
STM32 IWDG喂狗时间计算
推荐阅读最新更新时间:2024-03-16 16:12
STM32微控制器中采用DMA实现方波的产生和捕获
1 STM32微 控制器 介绍
STM32系列微控制器是ST公司基于Cortex-M3内核的高集成度的微控制器。它在性能、价格、功耗和实时性方面树立了一个新的标杆,集成了Cortex-M3内核,以及双ADC、多用途的通用 时钟 TIMx、RTC、I2C、SPI、UART、 CAN 、DMA、 USB 等丰富的 外设 。其功耗在全速72MHz所有模块都打开时也仅仅为36 mA,在低功耗模式下其功耗仅为2μA。
2 DMA和TIMx简介
STM32系列微控制器均含有DMA和通用时钟TIMx模块。其低端型号中仅包含DMA1,支持7个通道;高端型号还包括DMA2,支持5个通道。它的每个通道可任意指定工作模式,如
[电源管理]
STM32--低功耗模式
STM32F10xxx有三中低功耗模式: ●睡眠模式(Cortex?-M3内核停止,外设仍在运行) ●停止模式(所有的时钟都以停止) ●待机模式(1.8V电源关闭) 时钟频率72MHz时,从闪存执行代码,STM32功耗36mA,是32位市场上功耗最低的产品,相当于0.5mA/MHz。 上电,默认使用内部HSI时钟8M,经测试10mA左右。待机模式可实现系统的最低功耗。 可将电流消耗降至两微安。 在待机模式下,所有的I/O引脚处于高阻态,除了以下的引脚: ●复位引脚(始终有效) ●当被设置为防侵入或校准输出时的TAMPER引脚 ●被使能的唤醒引脚 /*按钮GPIOB9进入睡眠,WKUP pin(GP
[单片机]
STM32又添一虎将,一芯双核,性能飙升
自2007年意法半导体(ST)在北京发布首款STM32产品以来已有10年之久,在这 风雨十年里,STM32出货量高达30亿颗,成为中国第一大微控制器品牌。不止于此,随着IoT的应用趋势逐渐明显,对其中的MCU需求也日益增加。为此,在ST的战略中,最终目标是要打造一个宏伟的战略生态系统,成为产业领导者。 ST不断扩充着STM32系列,2019年7月,ST在北京召开新品发布会,推出了首款双核MCU——STM32H7。来自ST微控制事业部高级市场经理Renaud Bouzereau详细介绍了它的性能优势。 STM32H7采用Arm Cortex-M系列中性能最高的480MHz Cortex-M7内核,并增加一颗240
[嵌入式]
[STM32/8经验] 经验分享——EEPROM读写及数据管理
经常有人在QQ群讨论有关E2PROM操作、保护、失效等一些问题,今天闲来没事,简单概括总结一下咯。(才疏学浅,路过的英雄记得补刀) 1)有关 芯片 内部自带的E2PROM 有的资深的工程师可能不是很愿意用MCU自带的E2PROM,大概是这些家伙上过什么当、受过骗还是什么的。简单说一下优缺点吧: (1)片内集成的感觉挺便宜的,和MCU一起卖的,对成本要求严格的,写次数很少的场合一般会考虑,至少能省个2、3毛钱吧; (2)缺点的话,可能擦写次数、稳定性没有外挂的专用芯片厉害; 2)有关常用的外挂E2PROM 如果是学生或者刚从学生时代走来的人们,大概也就知道ATMEL 24C0X系列吧,就好像我毕业的时候以为世界
[单片机]
STM32学习之路-不得不说的SysTick时钟
SysTick时钟,俗称“嘀嗒定时器”,这家伙能按固定的时间产生一次中断,通常是多长时间产生一次中断呢?官方给出的一个时间是1ms 那么,它是怎么准确的产生1ms的呢.. 先来看看这家伙在时钟树的哪里吧 是它,是它,就是它,红色框里的东东,可以看到,它是由HCLK/8得到的,也就是:72MHz/8=9MHz 我们还能在STM32手册上找到这么一句话:系统嘀嗒校准值固定位9000,当系统嘀嗒时钟设为9MHz,产生1ms时间基准. 让我们来看看9000是怎么来的,这里要看下SysTick寄存器的配置了 当然,这个图截得真他妈丑..不过来是可以看到SysTick共有4个寄存器.下面的图盗自别人的博客的, = = 但是
[单片机]
stm32之assert_param 函数
我们在学STM32的时候函数assert_param出现的几率非常大,上网搜索一下,网上一般解释断言机制,做为程序开发调试阶段时使用。下面我就谈一下我对这些应用的看法,学习东西抱着知其然也要知其所以然。 4 断言机制函数assert_param 我们在分析库函数的时候,几乎每一个函数的原型有这个函数assert_param();下面以assert_param(IS_GPIO_ALL_PERIPH(GPIOx));为例说一下我的理解,函数的参数IS_GPIO_ALL_PERIPH(GPIOx),我们可以寻找到原型 #define IS_GPIO_ALL_PERIPH(PERIPH) (((*(uint32_t*)&(PERIPH))
[单片机]
解决烧录问题:Jlink的三线制SWD方式连接STM32芯片无法识别
网上找到此文章解决了j-flash只能连接后不能烧录的问题,希望遇到相同问题的小伙伴,可以用同样的办法解决: 前段时间,做了一块板子,调试接口只留了三个口SWD、SWCLK、GND,在使用Jlink的SWD方式调试的时候发现无法连接。使用ST-link的时候可以连接,无奈楼主的ST-link的链接方式相当的不可靠,时而能识别时而不能识别:当然我的ST-link是山寨版的。 那么问题来了:为什么通过20针全部连接的方式可以调试,而三针的方式就不行了呢? 古人云知之为知之,不知Google之,Google不让用,那就问度娘好了。 通过查阅网上资料发现,jlink的20针,不光有调试的功能还有供电和检测电压的功能。 下面是jl
[单片机]
stm32定时器既做定时功能又输出PWM并控制PWM启停
对于普通定时器如TIM2、TIM3、TIM4、TIM5,如下配置: //TIM3 PWM部分初始化 //PWM输出初始化 //arr:自动重装值 //psc:时钟预分频数 void TIM3_PWM_Init(u16 arr, u16 psc) { GPIO_InitTypeDef GPIO_InitStructure; TIM_TimeBaseInitTypeDef TIM_TimeBaseStructure; TIM_OCInitTypeDef TIM_OCInitStructure; NVIC_InitTypeDef NVIC_InitStructure; RCC_APB1PeriphClockC
[单片机]