stm32cube的IWDG使用

IWDG使用的是32芯片内部的40k独立晶振,该晶振为rtc和iwdg提供时钟,即使是主时钟坏了也不影响它们。

主要用到三个寄存器,

IWDG_KR    键值寄存器

IWDG_PR     预分频寄存器

IWDG_RLR   重装载寄存器

 

使用步骤:

①往IWDG_KR寄存器中写入0x5555,取消IWDG_PR和IWDG_RLR的写保护

②设置IWDG_PR和IWDG_RLRD的值

③往IWDG_KR寄存器中写入0xcccc,启动看门狗

④定时往IWDG_KR寄存器中写入0xaaaa,重装载计数值,(会向下递减,若减到0则MCU复位)

实际上用stm32cube配置好IWDG后使用非常方便,只要调用HAL_IWDG_Start(&hiwdg);和 HAL_IWDG_Refresh(&hiwdg);这两个函数就可以了,前者是启动看门狗,后者是重装载。

另外需要注意的是,IWDG打开后就无法关闭,除非重新启动,并且重启后不能打开IWDG,否则还是会打开。

时间: 2024-12-19 03:31:48

stm32cube的IWDG使用的相关文章

基于STM32Cube的IIC主从通信

1.建立STM32Cube工程,我使用的芯片是STM32F429,为了更简单的建立单独的IIC通信任务,我使用了FREERTOS,另外选择了RCC(系统时钟初始化),I2C1,I2C2(为了验证代码的一致性),如下图所示.                                                                                          2.配置完RCC时钟,F429最高时钟频率是180M,另外要注意自己使用的外接晶振的频率: 3.下

cortex_m3_stm32嵌入式学习笔记(五):独立看门狗实验(IWDG)

单片机系统在外界的干扰下会出现程序跑飞的现象导致出现死循环,看门狗电路就是为了避免这种情况的发生.看门狗的作用就是在一定时间内(通过定时计数器实现)没有接收喂狗信号(表示 MCU 已经挂了),便实现处理器的自动复位重启(发送复位信号) . 感觉是是自动复位功能,就是在一定时间内你应该去喂它而如果程序中途进入了死循环(就是喂不了了)这个MCU就挂了..但如果没开IWDG ,你不知道它挂没挂(虽然个人认为也是可以手动按复位键的嘛..)(上面那段话抄自某论坛) IWDG初始化步骤: 1)取消寄存器写保

MDK5 and STM32Cube

D:\Workspace\........\RTE\Device>STM32CubeMX.exe -s project.script -tpl_path C:\Keil5\ARM\Pack\Keil\STM32F4xx_DFP\2.5.0\MDK\CubeMX\ -dest_path [D:\Workspace\........\RTE\Device\]STM32F407IGHx\ 使用 D:\Workspace\........\RTE\Device\project.script 生成 D:\

ST推出新软件STM32Cube ,让STM32微控制器应用设计变得更容易、更快、更好用

功能强大的STM32Cube 新软件平台由设计工具.中间件和硬件抽象层组成,让客户能够集中精力创新 意法半导体(STMicroelectronics,简称ST)针对STM32微控制器推出一套免费的功能强大的设计工具及软件STM32Cube. 新开发平台可简化客户的开发项目,缩短项目研发周期,并进一步强化STM32在电子设计人员心目中解决创新难题的首选微控制器的地位. STM32Cube 开发平台包括STM32CubeMX图形界面配置器及初始化C代码生成器和各种类型的嵌入式软件. 配置初始化工具能

STM32Cube 注意事项

开发环境: STM32Cube + keil 5.12 开发平台: STM32F030R8T6 实验项目: STM32Cube 试水 问      题: Cube 程序编译烧写到 芯片中, 第二次无法正常烧写,只能在另一种boot 模式下才能烧写 解决办法: 将SWD 接口在 PIN_Config 中配置好,不要把所有的pin 都初始化为Analog 1. 在Pinout 选项中,所有的系统用到的引脚都要配置好,其中包括 两个OSC,Jtag/SWD, BOOT0/1,这样就可以把所有未使用的引

STM32之------独立看门狗(IWDG)和窗体看门狗(WWDG)

一     前沿废语: 之前有很风靡的游戏,名字叫<看门狗>.该游戏用了很新的引擎技术,打造出了一个辽阔庞大的世界,内容是玩家Aiden·Pearce(主角)是一名精通黑客技术的高手,当时的世界是处于所有物品都被置了电子设备控制,整个城市都在依赖着他们,主人公决定利用自己的技术为这个世界惩奸除恶.   这个游戏以极高的自由度.出色的游戏质量与丰富的游戏内容被业界公认为开启次世代游戏的大门之作,该游戏被IGN评为年度最佳射击游戏(下载地址:http://down.ali213.net/pcgam

STM32Cube 串口DMA发送问题

STM32Cube 串口DMA发送问题:只能运行一次,第二次返回状态为HAL_BUSY 解决办法: 这样就可以实现每次调用HAL_UART_Trasmit_DMA发送指定长度的数组.

基于STM32Cube的DAC数模转化

1. STM32Cube配置 1.1 DAC配置 1.2 TIM6 配置 1.3 利用Cube产生工程程序,MDK打开软件 在主循环上添加语句: HAL_TIM_Base_Start(&htim6); HAL_DAC_Start_DMA(&hdac,DAC_CHANNEL_2, (uint32_t *)&Samples_In[0],500, DAC_ALIGN_12B_R); 编译完成下载到核心板上 2. DAC效果验证 2.1 正弦表生成 利用MATLAB,生成500个点组成的正

STM8S awu及看门狗IWDG WWDG应用(转)

源:STM8S awu及看门狗IWDG WWDG应用 AWU的应用(用库函数完成的) //切记要开启中断 且在中断函数中 AWU_GetFlagStatus(); 来清除中断 void AWU_SET(void) { CLK_PeripheralClockConfig(CLK_PERIPHERAL_AWU, ENABLE); AWU_Init(AWU_TIMEBASE_12S); } #ifdef _COSMIC_ @far @interrupt void AWU_IRQHandler(void