/************ STM8S103 看门狗测试 ******/
/*芯片型号:STM8S103F3 */
/*功能描述:STM8S103 看门狗测试 */
/*作者: ClimberWin */
/*编写时间:2013.12.10 */
/*内部晶振 */
/**************************************************/
#include
#define uint unsigned int
#define uchar unsigned char
#define LED PC_ODR_ODR5 //输出LED控制口
void delayms(unsigned int count);//延时程序
void IO_config(void); //端口配置
/***************延时子程序start****************/
void delayms(unsigned int count)
{
unsigned int i,j;
for(i=0;i
for(j=0;j<120;j++);
}
/*************延时子程序end*****************/
void IO_config(void)
{
CLK_CKDIVR = 0x08; //内部8M
PC_DDR = 0x20; // PC5为输出,其它全为输入
PC_CR1 = 0xFF; // 设置PC5推挽输出,其它输入IO端口上拉使能
PC_CR2 = 0x00;
}
int main(void)
{
uchar i;
IO_config();//端口初始化
LED=0;
IWDG_KR = 0xCC; //当IWDG_KR被写入数值0xCC,独立看门狗被启动了
IWDG_KR = 0x55; //解除 PR 及 RLR 的写保护
IWDG_RLR = 0xff; //看门狗计数器重装载数值
IWDG_PR = 0x06; //分频系数为256,最长超时时间为:1.02S
IWDG_KR = 0xAA; //恢复 PR 及 RLR 的写保护状态
for(i=0;i<10;i++)
{
delayms(500);
IWDG_KR = 0xAA; //刷新IWDG(喂狗)。每当KEY_REFRESH的数值(0xAA)写入到IWDG_KR寄存器时,
//独立看门狗将用IWDG_RLR的数值刷新计数器的内容,从而避免了产生看门狗的复位。
}
LED=1;
while(1); //如果没有喂狗,就复位
}
关键字:STM8S103 看门狗
引用地址:
STM8S103 看门狗应用
推荐阅读最新更新时间:2024-03-16 15:08
MSP430教程10:MSP430单片机WDT看门狗定时器
看门狗定时器用来防止程序因供电电源、空间电磁干扰或其它原因引起的强烈干扰噪声而跑飞的事故。程序中设置看门狗清零指令 WDTCTL=WDTPW+WDTCNTCL ,当程序跑飞不能及时清零看门狗,导致看门狗溢出复位,这样程序可以恢复正常运行状态。 一、WDT寄存器包括WDTCNT和WDTCTL,两个寄存器在 上电和系统复位内容全部清零 1.记数单元WDTCNT: WDTCNT是16位增记数器,由MSP430选定的时钟电路产生的固定周期脉冲信号对记数器进行加法记数。WDTCNT不能直接软件存取,必须通过看门狗定时器的控制寄存器WDTCTL来控制。 2.控制寄存器WDTCTL: WDTCTL由两部分组成,高8
[单片机]
STC89系列单片机看门狗的使用及应用程序
“看门狗”概念及其应用在由单片机构成的系统中,由于单片机的工作有可能会受到来自外界电磁场的干扰,造成程序的跑飞,从而陷入死循环,程序的正常运行被打断,由单片机控制的系统便无法继续工作,这样会造成整个系统陷入停滞状态,发生不可预料的后果,所以出于对单片机运行状态进行实时监测的考虑,便产生了一种专门用于监测单片机程序运行状态的芯片,俗称“看门狗”(watch dog)。 加入看门狗电路的目的是使单片机可以在无人状态下实现连续工作, 其工作过程如下:看门狗芯片和单片机的一个I/O引脚相连,该I/O引脚通过单片机的程序控制,使它定时地往看门狗芯片的这个引脚上送入高电平(或低电平),这一程序语句是分散地放在单片机其他控制语句中间的,一旦单片
[单片机]
STM32的看门狗配置详情解说
stm32有两个看门狗,独立看门狗和窗口看门狗,其实两者的功能是类似的,只是喂狗的限制时间不同。独立看门狗有自己独立的40Khz时钟,不存在使能问题;而窗口看门狗使用的是PCLK1时钟,需要先使能时钟。以下是关于看门狗的具体说明: ①独立看门狗是限制喂狗时间在0-x内,x由你的相关寄存器决定。喂狗的时间不能过晚。 ②窗口看门狗,所以称之为窗口就是因为其喂狗时间是一个有上下限的范围内,你可以通过设定相关寄存器,设定其上限时间和下限时间。喂狗的时间不能过早也不能过晚。 显而易见的是,独立看门狗比较简单,容易理解。这里,主要对窗口看门狗的详细含义作具体说明。 窗口看门狗介绍: 看门狗的上窗口就是配置寄存器WW
[单片机]
STM8窗口看门狗
#include stm8s.h uint8_t u8_value; FlagStatus fs; void main(void) { GPIO_DeInit(GPIOD); GPIO_Init(GPIOD, GPIO_PIN_ALL, GPIO_MODE_OUT_PP_LOW_SLOW); fs = RST_GetFlagStatus(RST_FLAG_WWDGF); if(fs != RESET) { RST_ClearFlag(RST_FLAG_WWDGF); GPIO_WriteHigh(GPIOD, GPIO_PIN_0); } WWDG_Init(0x7f, 0x60); while (1)
[单片机]
STM32基于固件库学习笔记(10)窗口看门狗
窗口看门狗 (WWDG) 小容量产品是指闪存存储器容量在16K至32K字节之间的STM32F101xx、STM32F102xx和STM32F103xx微控制器。 中容量产品是指闪存存储器容量在64K至128K字节之间的STM32F101xx、STM32F102xx和STM32F103xx微控制器。 大容量产品是指闪存存储器容量在256K至512K字节之间的STM32F101xx和STM32F103xx微控制器。 互联型产品是指STM32F105xx和STM32F107xx微控制器。 WWDG 简介 窗口看门狗通常被用来监测,由外部干扰或不可预见的逻辑条件造成的应用程序背离正常的运行序列而产生的软件故障。除非递减计数
[单片机]
MSP430第十六章:看门狗
1. 介绍 看门狗定时器模块WDT_A的作用是在软件发生死机或跑飞后控制程序重启。当超过设定的时间而没有喂狗时,就会产生复位中断。如果不需要看门狗功能,可配置为普通定时器或者关闭。 8个可选定时时间 看门狗工作模式 定时器模式 带密码保护的控制寄存器 可选时钟源 允许关闭降低功耗 时钟故障保护 2. 看门狗操作 看门狗定时器模块可以配置为看门狗或普通定时器。WDTCTL是一个16位密码保护的读写寄存器。任何读或写访问都必须使用word指令,并且写访问必须使用密码05Ah。任何对WDTCTL的写操作,只要高字节的值不是05Ah,就会违反密码,并触发PUC系统重置。对WDTCTL的任何读取都是在高字节读取069h。字节读取WD
[单片机]
ATtiny13 看门狗复位
ATtiny13看门狗定时器溢出时将产生持续时间为1 个CK 周期的复位脉冲。在脉冲的下降沿,延时定时器开始对tTOUT 记数。请参见P40 以了解看门狗定时器的具体操作过程。
[单片机]
基于高压看门狗定时器的汽车失效保护解决方案
摘要:绝大多数汽车电子系统需要监控电路监测失效容限和安全性。MAX16997/MAX16998看门狗定时器可理想满足这类监控需求,它们对微控制器(µC)正常工作条件下产生的周期脉冲进行检测,一旦侦测到电路或µC的失效状态,将立即切换到备份/冗余系统,采取“跛行回家”控制策略,从而避免汽车在中途抛锚,提供了一种汽车 失效保护 措施。 汽车设计中,越来越多的电子系统正在逐步替代机械功能—从引擎定时控制到刹车、方向盘控制—而电子系统相对容易发生故障,这就需要谨慎考虑系统的安全性,确保系统具备较高的故障容限。不应该在发生单点故障时将司机或乘客置于危险处境,至少能够使汽车“跛行”到大路以外或最近的维修站。当电子设备发生故障时,为确保
[模拟电子]