看门狗的喂狗时间(看门狗溢出时间)计算公式:
Tout=((4*2^prer)*rlr)/40
其中Tout就是看门狗溢出时间(单位ms),prer是看门狗时钟预分频值(IWDG_PR值),范围为0~7,rlr位看门狗重载值(IWDG_RLR)。
void IWDG_Configuration(void)
{
IWDG_WriteAccessCmd(IWDG_WriteAccess_Enable); //解除寄存器保护
IWDG_SetPrescaler(IWDG_Prescaler_256); // 写入初始化分频值 0~7
IWDG_SetReload(0xFFF); //0xfff*256/40k=26s
IWDG_ReloadCounter(); //开启寄存器保护
IWDG_Enable(); //启动看门狗
}
初始化完成后 看门狗开始逐渐递减计数到0000并复位 ,所以在复位之前要不断喂狗,即不断重新加载数据到IWDG_RLR中防止复位。
void IWDG_Feed(void)//喂狗函数
{
IWDG->KR=0XAAAA;
}
关键字:STM32 独立看门狗 Cortex-M3
引用地址:
STM32 独立看门狗使用经验(Cortex-M3)
推荐阅读最新更新时间:2024-03-16 16:02
STM32-电源【ADC供电、VDDA、VSSA、VREF、VBAT等】
STM32供电方案一览 STM32的电源框图如下所示,电源供电共分为4个区域: VDD、VSS供电区域; VDDA、VSSA供电区域; 1.8V供电区域; 后备电源(VBAT)供电区域; STM32F103ZET6(其他的STM32也基本无差)的Datasheet关于供电方案的说明如下: Power supply schemes • VDD = 2.0 to 3.6 V: external power supply for I/Os and the internal regulator(内部调节器或稳压器). Provided externally through VDD pins. • VSSA, VDDA = 2
[单片机]
基于STM32设计的掌上游戏机详细开发过程
一、环境与硬件介绍 开发环境:keil5 代码风格: 寄存器风格,没有采用库函数,底层代码全部寄存器方式编写,运行效率高,注释清楚。 MCU型号: STM32F103ZET6 开发板: 正常的一块STM32开发板,带LCD插槽,带4颗独立按键。 游戏模拟器: NES游戏模拟器 LCD : ALIENTEK的3.5寸屏幕。(屏幕型号不重要,随便一款都可以的,把屏幕底层驱动代码写好,适配即可) 声音输出设备 : 采用VS1053 (SPI接口,操作方便) 游戏手柄: 支持FC游戏手柄 完成这个掌上游戏机需要使用的硬件设备不复杂,如果想要体验游戏,需要的必备硬件: 1. (必要)STM32F103系列最小系统版一个 2. (必要)L
[单片机]
STM32看门狗与复位IC同时存在的注意事项
1写在前面 我们都知道在复杂环境,比如一些工厂,特别是在有大型机电设备的环境下,我们的电源信号、通信信号都有可能受到干扰。 那么,在这种情况下,我们软件和硬件都有必要做一定预防处理。 除了需要外接复位IC,同时,为了系统能稳定长期的工作,我们可能还有必要添加看门狗。 本文就围绕复位IC、看门狗展开相关内容的讲解。 2 MCU电路为什么要使用复位芯片? STM32都有一个最低工作电压(比如1.8V),当电源电压跌落到低于MCU所要求的最低值时,MCU工作可能发生混乱,造成程序跑飞,引起整机死机、误动作等现象。 使用复位IC的原理是通过确定的电压值(阈值)启动复位操作,同时排除瞬间干扰的影响,又有防止MCU在电源启动和关闭期间的误
[单片机]
STM32事件 中断事件 中断的详解
凡从事过ST MCU应用开发的人往往会遇到事件、中断事件中断三个概念或术语。这三个概念彼此关联,有时会让人有点混淆或犯迷糊。 先拿一件生活中的事情打比方对上述三个概念做个基本的粗略理解,之后再分享一个STM32 GPIO外部中断配置案例。 比如一老师在教室里给学生们上课。课堂上的学生可能做出各种行为动作,比方做笔记、打哈气、翻书包、讲小话等,我们把这些行为统称为事件,其中有些行为老师往往只是视而不见,继续他的上课;而有些行为可能导致老师的上课中止,比方讲小话,并对学生的相关行为予以警告、批评或纠正等,然后继续上课。我们把老师因为学生的某些行为而中止授课,并产生后续动作,之后接着上课的这个过程理解为中断或中断响应。我们把可
[单片机]
STM32串口USART配置、发送与接收
一、配置时钟:GPIO时钟、串口时钟、复用引脚时钟 二、配置GPIO结构体 三、配置串口结构体 //串口初始化示例 void usart_init(void) { //创建结构体 GPIO_InitTypeDef gpioinitStructure; USART_InitTypeDef usartinitStructure; NVIC_InitTypeDef NVICinitStructure; NVIC_PriorityGroupConfig(NVIC_PriorityGroup_1); //设置时钟 RCC_APB2PeriphClockCmd(RCC_APB2Pe
[单片机]
stm32 pwm实现过程
如果要从某IO端口输出PWM脉冲,相应的工作如下: 1.需要一个定时器实现周期循环计数 2.设置每个循环周期的比较值,从而实现占空比 3.配置某个IO口味定时器的PWM复用功能 例如:实现STM32 的 GPIOB_5 管脚输出PWM脉冲: (stm32的定时器都有4个通道,PWM有4种模式,主要区别在于高低电平变化的时刻不同) 1.查询芯片手册,GPIOB_5 的复用功能对应定时器3的通道二 2.设置GPIOB_5 端口为复用推挽输出功能 3.设置定时器3的对应的GPIO复用重映射,即可以将定时器的4个通道,通过映射方式设置到不同的io管脚,这里选择部分映射后,通道二就映射到了GPIOB_5 管脚 4.设置定时器3工作在重载
[单片机]
STM32 RS485 modbus通讯源程序,亲测有效
Modbus 一个工业上常用的通讯协议、一种通讯约定。Modbus协议包括RTU、ASCII、TCP。其中MODBUS-RTU最常用,比较简单,在单片机上很容易实现。modbus协议简单解析如下: 1、主机对从机写数据操作 如果单片机接收到一个报文那么就对报文进行解析执行相应的处理,如上面报文: 01 06 00 01 00 17 98 04 从机地址 功能号 数据地址 数据 CRC校验 假如本机地址是 1 ,那么单片机接收到这串数据根据数据计算CRC校验判断数据是否正确,如果判断数据无误,则结果是: HoldDataReg = 0x0017
[单片机]
详解STM32的中断系统
一、前言 中断是什么? 举个例子来说,当我们正在工作时,突然电话响了,这时你会把手里的工作先停下来,然后去接电话,当接完电话后,电话里的人安排你马上做一件事,这时你需要立刻去做这件事,当把这件事做完后你会继续之前被打断的工作,这个过程为一次中断。 在计算机科学中,中断指计算机CPU获知某些事,暂停正在执行的程序,转而去执行处理该事件的程序,当这段程序执行完毕后再继续执行之前的程序。 整个过程称为中断处理,简称中断,而引起这一过程的事件称为中断事件。 中断是计算机实现并发执行的关键,也是操作系统工作的根本。 中断能提高CPU的效率,同时能对突发事件做出实时处理。 实现程序的并行化,实现嵌入式系统进程之间的切换。 后续将从以下图
[单片机]