看门狗实验手册
看门狗

1.在WDTC寄存器中设置看门狗定时器的固定装载值; 2.在WDMOD寄存器中设置模式,并使能看门狗; 3.通过向WDFEED寄存器顺序写入0xAA和0x55,启动 看门狗; 4.在看门狗向下溢出之前应当再次喂狗以防止复位 或中断。
• 若看门狗设置为溢出复位模式,那么当看 门狗计数器向下溢出时,会引发内部复位, 程序计数器将从0x0000 0000开始,与外部 复位一样。通过检查看门狗超时标志 (WDTOF)可以判断系统复位是否由看门 狗引发。WDTOF标志必须由软件清零。
4.16.2 看门狗寄存器描述
• 看门狗包含4个寄存器,见下表
看门狗寄存器映射
看门狗寄存器描述
•
1.看门狗模式寄存器(WDMOD,0xE000 0000)
操作示例: WDMOD=0x02;//看门狗溢出时,产生复位
看门狗寄存器描述 • 看门狗的操作是通过WDEN位和WDRESET位来控制的。 一旦WDEN、WDRESET位置位,就无法使用软件将其清 零。这两个标志由外部复位或看门狗定时器溢出清零。
2.看门狗定时器常数寄存器 (WDTC,0xE000 0004)
• WDTC寄存器决定看门超时值,见表 。当喂狗时序产生 时,WDTC的内容重新装入看门狗定时器。它是一个32位 寄存器,最小值为0xFF,如写入一个小于0xFF的值,会 使0xFF装入WDTC。因此,WDT的最小时间间隔为 tPCLK×256×4,最大时间间隔为tPCLK×232×4。WDTC寄 存器描述见表。WDT初始化,如下程序所示 • WDTC=0x10000;//设置WDT定时值 • WDMOD=0x03; //设置WDT工作模式,使能WDT
看门狗
PPT制作:忻淑怡 演讲: 陈恺霖 收集资料:周焕强 赵一锋
Arm实验看门狗

ARM实验姓名唐珊珊学号2011412614实验目的:掌握独立看门狗的工作原理和使用方法。
实验原理:调用固件库设置和初始化独立看门狗,通过Led4的状态指示系统运行,同时按下按键SW1不断重置看门狗寄存器(俗称喂狗),当停止按键后,,则MCU会在看门狗超时的作用下系统重启。
实验步骤:要实现本实验功能设计,需要进行必要的设置,其步骤如下:1)设置Led驱动管教为推挽输出,Sw1管脚为浮空输入。
2)Led4熄灭一下,以表示刚刚复位,3)调用IWDG_writeAccessCmd函数向IWDG_KR写入0X5555。
通过这步,我们取消看门狗寄存器的写保护。
4)设置看门狗的分频系数,本例中为32。
在固件库中,可以调用IWDG_SetPrescaler函数实现。
5)设置看门狗的重装载的值,本例中为625.在固件库中,可以调用IWDG_SetReload函数实现。
6)调用IWDG_Enable函数向IWDG_KR写入0xcccc。
通过这句,来启动STM32的看门狗。
7)检测按键Sw1,如果按下则调用IWDG_ReloadCounter函数使STM32重新加载IWDG_RlR的值到看门狗计数器里面。
也可以用该命令来喂狗。
程序为:独立看门狗#include "stm32f10x.h"void GPIO_Config(void);void delay(void);int main(void){GPIO_Config();GPIO_SetBits(GPIOC,GPIO_Pin_9);delay();GPIO_ResetBits(GPIOC,GPIO_Pin_9);IWDG_WriteAccessCmd(IWDG_WriteAccess_Enable);IWDG_SetPrescaler(IWDG_Prescaler_32);IWDG_SetReload(625);IWDG_Enable();while(1){if(GPIO_ReadInputDataBit(GPIOD,GPIO_Pin_3)==0)IWDG_ReloadCounter();}}void delay(void){uint32_t i;for(i=0;i<6000000;i++){}}void GPIO_Config(void){GPIO_InitTypeDef GPIO_InitStructure;RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOD|RCC_APB2Periph_GPIOC,ENA BLE);GPIO_InitStructure.GPIO_Pin=GPIO_Pin_9;GPIO_InitStructure.GPIO_Speed=GPIO_Speed_50MHz;GPIO_InitStructure.GPIO_Mode=GPIO_Mode_Out_PP;GPIO_Init(GPIOC,&GPIO_InitStructure);GPIO_InitStructure.GPIO_Pin=GPIO_Pin_3;GPIO_InitStructure.GPIO_Speed=GPIO_Speed_50MHz;GPIO_InitStructure.GPIO_Mode=GPIO_Mode_IN_FLOATING;GPIO_Init(GPIOD,&GPIO_InitStructure);}中断函数uint32_t led=1;void WWDG_IRQHandler(void){uint8_t cr;cr=WWDG->CR;cr&=0x7f;if(cr<0x50){WWDG_SetCounter(0x70);WWDG_ClearFlag();led=~led;if(led==0)GPIO_ResetBits(GPIOC,GPIO_Pin_9);elseGPIO_SetBits(GPIOC,GPIO_Pin_9);}}#include "stm32f10x.h"void GPIO_Config(void);void delay(void);//uint32_t led=0;int main(void){NVIC_InitTypeDef NVIC_InitStructure;GPIO_Config();GPIO_ResetBits(GPIOC,GPIO_Pin_9);delay();GPIO_SetBits(GPIOC,GPIO_Pin_9);delay();RCC_APB1PeriphClockCmd(RCC_APB1Periph_WWDG,ENABLE);WWDG_SetPrescaler(WWDG_Prescaler_8);WWDG_EnableIT();WWDG_SetWindowValue(0x50);WWDG_Enable(0x70);NVIC_InitStructure.NVIC_IRQChannel=WWDG_IRQn;NVIC_InitStructure.NVIC_IRQChannelPreemptionPriority=0x07; NVIC_InitStructure.NVIC_IRQChannelSubPriority=0x07;NVIC_InitStructure.NVIC_IRQChannelCmd=ENABLE;NVIC_Init(&NVIC_InitStructure);while(1){;}}void GPIO_Config(void){GPIO_InitTypeDef GPIO_InitStructure;RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOC,ENABLE);GPIO_InitStructure.GPIO_Pin=GPIO_Pin_9;GPIO_InitStructure.GPIO_Speed=GPIO_Speed_50MHz;GPIO_InitStructure.GPIO_Mode=GPIO_Mode_Out_PP;GPIO_Init(GPIOC,&GPIO_InitStructure);}void delay(void){uint32_t i;for(i=0;i<6000000;i++){}}中断函数为void WWDG_IRQHandler(void){uint8_t cr;cr=WWDG->CR;cr&=0x7f;if(cr<0x50){WWDG_SetCounter(0x70);WWDG_ClearFlag();led=~led;if(led==0)GPIO_ResetBits(GPIOC,GPIO_Pin_9);elseGPIO_SetBits(GPIOC,GPIO_Pin_9);}}一秒定时看门狗#include "stm32f10x.h"void GPIO_Config(void);void NVIC_Config(void);void TIM1_Config(void);void EXTI_Config(void);void IWDG_Config(void);int main(){GPIO_Config();NVIC_Config();TIM1_Config();EXTI_Config();IWDG_Config();while(1){}}void GPIO_Config(void){GPIO_InitTypeDef GPIO_InitStructure;RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOC|RCC_APB2Periph_GPIOD,ENA BLE);GPIO_InitStructure.GPIO_Pin=GPIO_Pin_9;GPIO_InitStructure.GPIO_Speed=GPIO_Speed_50MHz;GPIO_InitStructure.GPIO_Mode=GPIO_Mode_Out_PP;GPIO_Init(GPIOC,&GPIO_InitStructure);GPIO_InitStructure.GPIO_Pin = GPIO_Pin_3;GPIO_InitStructure.GPIO_Mode = GPIO_Mode_IN_FLOATING;GPIO_Init(GPIOD, &GPIO_InitStructure);}void NVIC_Config(void){NVIC_InitTypeDef NVIC_InitStructure;NVIC_InitStructure.NVIC_IRQChannel=TIM1_UP_IRQn;NVIC_InitStructure.NVIC_IRQChannelPreemptionPriority=0;NVIC_InitStructure.NVIC_IRQChannelSubPriority=1;NVIC_InitStructure.NVIC_IRQChannelCmd=ENABLE;NVIC_Init(&NVIC_InitStructure);NVIC_InitStructure.NVIC_IRQChannel = EXTI3_IRQn;NVIC_InitStructure.NVIC_IRQChannelPreemptionPriority = 0x07;NVIC_InitStructure.NVIC_IRQChannelSubPriority = 0x07;NVIC_InitStructure.NVIC_IRQChannelCmd = ENABLE;NVIC_Init(&NVIC_InitStructure);}void TIM1_Config(){TIM_TimeBaseInitTypeDef TIM_TimeBaseInitStructure;RCC_APB2PeriphClockCmd(RCC_APB2Periph_TIM1,ENABLE);TIM_TimeBaseInitStructure.TIM_ClockDivision=0;TIM_TimeBaseInitStructure.TIM_Period=(10000-1);TIM_TimeBaseInitStructure.TIM_Prescaler=(7200-1);TIM_TimeBaseInitStructure.TIM_CounterMode=TIM_CounterMode_Up;TIM_TimeBaseInitStructure.TIM_RepetitionCounter=0;TIM_TimeBaseInit(TIM1,&TIM_TimeBaseInitStructure);TIM_ClearITPendingBit(TIM1,TIM_IT_Update);TIM_ITConfig(TIM1,TIM_IT_Update,ENABLE);TIM_Cmd(TIM1,ENABLE);}void EXTI_Config(void){EXTI_InitTypeDef EXTI_InitStructure;RCC_APB2PeriphClockCmd(RCC_APB2Periph_AFIO, ENABLE);GPIO_EXTILineConfig(GPIO_PortSourceGPIOD, GPIO_PinSource3);EXTI_InitStructure.EXTI_Line = EXTI_Line3;EXTI_InitStructure.EXTI_Mode = EXTI_Mode_Interrupt;EXTI_InitStructure.EXTI_Trigger = EXTI_Trigger_Falling;EXTI_InitStructure.EXTI_LineCmd = ENABLE;EXTI_Init(&EXTI_InitStructure);}void IWDG_Config(void){IWDG_WriteAccessCmd(IWDG_WriteAccess_Enable);IWDG_SetPrescaler(IWDG_Prescaler_32);IWDG_SetReload(4000);IWDG_Enable();}中端函数为int led=1;void TIM1_UP_IRQHandler(void){if(TIM_GetITStatus(TIM1,TIM_IT_Update)!=RESET){IWDG_ReloadCounter();led=~led;if(led==1)GPIO_SetBits(GPIOC,GPIO_Pin_9);elseGPIO_ResetBits(GPIOC,GPIO_Pin_9);TIM_ClearITPendingBit(TIM1,TIM_IT_Update);}}void EXTI3_IRQHandler(void){/* 检测EXTI3是否有效*/if(EXTI_GetITStatus(EXTI_Line3)!= RESET){while(1){/*可随便加入现象,便于观察*/GPIO_ResetBits(GPIOC,GPIO_Pin_9|GPIO_Pin_8|GPIO_Pin_7|GPIO_Pin_6);/* 清除EXTI3的悬起标志位*/EXTI_ClearITPendingBit(EXTI_Line3);}}}。
华清远见实验手册

实验目录实验一、熟悉realview开发环境 (2)1.1 RealView MDK软件开发环境简介 (2)1.1.1 RealView MDK的突出特性 (2)1.1.2 产品模块介绍 (2)1.2RealView 使用 (5)1.2.1创建一个工程 (6)1.2.2 编译、链接工程 (8)1.2.3 程序调试 (11)1.2.4 工程选项页概述 (12)实验二、ARM指令集 (13)2.1 ARM汇编指令1 (13)2.2 ARM汇编指令2 (16)实验三、ARM汇编子函数调用 (18)实验四、Thumb汇编指令练习 (19)实验五、ARM处理器工作模式练习 (20)实验六、简单C语言程序实验 (21)实验七、汇编与C语言的相互调用实验 (22)实验八、C语言中内联汇编程序实验 (23)实验九、C语言中嵌入型汇编程序实验 (24)实验十、综合编程实验 (25)实验十一、I/O及串口通信编程实验 (26)实验十二、中断实验 (29)实验十三、实时时钟实验 (30)实验十四、看门狗控制实验 (31)实验十五、A/D转换实验 (32)实验十六 I2C串行通信实验 (33)实验十七 linux bootload实验 (34)实验一、熟悉realview开发环境1.1 RealView MDK软件开发环境简介RealView MDK全称RealView MDK中国版开发套件,源自德国Keil公司,被全球超过10万的嵌入式开发工程师验证和使用,是ARM公司目前最新推出的对各种嵌入式处理器的软件开发工具。
RealView MDK集成了业内最领先的技术,包括µVision3集成开发环境与RealView编译器,支持ARM7、ARM9和最新的Cortex-M3核处理器,自动配置启动代码,集成Flash烧写模块,强大的Simulation设备模拟,性能分析等功能,与ARM之前的工具包ADS等相比,RealView编译器的最新版本可将性能改善超过20%。
MSP430F5529实验指导书V1.0

MSP430F5529 实验指导书(V1.0)2014年10月27日东北林业大学机电工程学院“3+1”实验室实验一基础GPIO实验实验二键盘与液晶显示实验实验三时钟系统配置实验实验四看门狗与定时器实验实验五 AD/DA实验实验六比较器实验实验七 Flash实验实验八串行通信实验实验一基础GPIO实验【实验目的】1、熟悉CCS的基本使用方法;2、掌握MSP430系列单片机程序开发的基本步骤;3、掌握MSP430 IO口的基本功能。
【实验仪器】1、SEED-EXP430F5529v1.0开发板一套;2、PC机操作系统Windows XP或Windows 7,CCSv5.1集成开发环境。
【实验原理】CCS(Code Composer Studio)是 TI 公司研发的一款具有环境配置、源文件编辑、程序调试、跟踪和分析等功能的集成开发环境,能够帮助用户在一个软件环境下完成编辑、编译、链接、调试和数据分析等工作。
CCSv5.1 为 CCS 软件的最新版本,功能更强大、性能更稳定、可用性更高,是 MSP430 软件开发的理想工具。
SEED-EXP430F5529v1.0开发板上的有8个可操作的LED灯,与MCU的IO口对应关系如图1-1所示:图1-1 LED与MCU的IO对应关系电路我们可以通过控制单片机IO口的输出电平状态来控制各个LED灯的亮灭。
开发板上还有2个可操作的按键S1,S2。
如图1-2所示。
图1-2 按键电路我们可以通过读取与按键相连的IO口的输入电平状态来执行相应的操作。
此外,S1,S2还可以作为外部中断源,触发中断。
【实验内容】1、用调用头文件的方法,使能MSP430F5529开发板上的8个LED灯依次按顺序循环点亮;2、用按键S1控制开发板上LED1的亮灭状态(查询法);3、用按键S2控制开发板上跑马灯的循环速度(中断方式)。
【实验步骤】内容1:使能开发板上的8个LED灯依次按顺序循环点亮1、打开CCSv5并确定工作区间,然后选择File-->New-->CCS Project 弹出图1-3对话框。
嵌入式系统看门狗实验报告

竭诚为您提供优质文档/双击可除嵌入式系统看门狗实验报告篇一:《嵌入式系统原理与应用》实验报告04-看门狗实验《嵌入式系统原理与接口技术》实验报告实验序号:4实验项目名称:看门狗实验1234篇二:嵌入式实验报告目录实验一跑马灯实验................................................. (1)实验二按键输入实验................................................. .. (3)实验三串口实验................................................. . (5)实验四外部中断实验................................................. .. (8)实验五独立看门狗实验................................................. (11)实验七定时器中断实验................................................. (13)实验十三ADc实验................................................. .. (15)实验十五DmA实验................................................. .. (17)实验十六I2c实验................................................. (21)实验十七spI实验................................................. .. (24)实验二十一红外遥控实验................................................. .. (27)实验二十二Ds18b20实验................................................. (30)实验一跑马灯实验一.实验简介我的第一个实验,跑马灯实验。
培训文档看门狗

电杆
0.3 米
分界开关
抱箍 抱箍
分界开关控制器
3
产品构成示意图
故障处理过程——单相接地(0)
当用户界内发生单相接地故障时,控制器侦测 到零序故障电流后(即零序电流值超过所设定 的零序电流定值),启动延时计时,在计时超 过零序保护动作延时时间设定值后,执行保护 动作,控制器令开关迅速分闸,切除用户界内 故障。
按重要遥信3S内上送的原则 ,5S状变解析计时时间计算,
17 0 <= (事故件名登陆时刻-KMG负荷侧区间停电时刻) <= 8S,认为
KMG的负荷侧区间停电原因是FCB跳造成的。
DAS——看门狗管理界面(1)
主菜单=>设备信息查询菜单=>看门狗管理
18
DAS——看门狗管理界面(2)
19
DAS——看门狗管理界面(3)
中性点经小电阻接地系统用户界外 不动作
相 间
分界开关为负荷开关:用户界内
电源侧断路器跳闸停电后分界开 关跳闸
短
路 分界开关为断路器:用户界内
12
故 障 用户界外
电源侧断路器不动作,分界开关 跳闸
不动作
控制器三遥
遥测:A相电流、C相电流、零序电流、AB相间电压 等。
遥信:开关位置、单相接地故障、相间短路故障 等 遥控:
产品简介
由安装于配电网用户支线T接点或馈线末端的 智能成套设备(俗称看门狗)构成,实现用户 侧线路故障的自动监控。本产品在无通信条件 下,依靠设备的智能化,能有效避免配电网用 户支线故障波及整条馈线停电,形成供用电的 责任分界,从而大幅提高10kV主干网的供电 可靠性。适用于各种接地方式的架空网、电缆 网、架空电缆混合网分支线自动化监控。
单片机实验看门狗实验

实验八 看门狗实验
/***************************************************************************** // Function name : rtc_get_date // Description : 获取实时时钟当前时间、日期 // Return type : void // Argument : p_date, 返回日期的指针 *****************************************************************************/ void rtc_get_date(st_date* p_date) { rRTCCON = 0x01; p_date->year = rBCDYEAR ; p_date->mon = rBCDMON ; p_date->day = rBCDDAY ; p_date->week_day= rBCDDATE ; p_date->hour = rBCDHOUR ; p_date->min = rBCDMIN ; p_date->sec = rBCDSEC ; rRTCCON = 0x00; } /***************************************************************************** // Function name : rtc_tick_init // Description : 初始化S3C2410的TICK定时器 // Return type : void // Argument : tick, 设置的TICK频率(时钟滴答的周期为 (1+tick)/128秒) *****************************************************************************/
嵌入式看门狗实验

看门狗实验一、实验目的学习 CC2530 片内看门狗的工作原理。
配置 CC2530 的看门狗相关的寄存器。
二、实验环境硬件:PC 机,EBDCC2530 节点板,USB 接口仿真器。
软件:Windows98/2000/NT/XP,IAR 集成开发环境。
三、实验原理看门狗(WatchDog),准确的说应该是看门狗定时器,则正是专门用来监测单片机程序运行状态的电路结构。
其基本原理是:启动看门狗定时器后,它就会从 0 开始计数,若程序在规定的时间间隔内没有及时对其清零,看门狗定时器就会复位系统(相当于重启电脑)。
图 2-8-1 看门狗原理示意图看门狗的使用可以总结为:选择模式→选择定时器间隔→放狗→喂狗。
(1)选择模式看门狗定时器有两种模式,即“看门狗模式”和“定时器”模式。
在定时器模式下,它就相当于普通的定时器,达到定时间隔会产生中断(你可以在 ioCC2530.h文件中找到其中断向量为 WDT_VECTOR);在看门狗模式下,当达到定时间隔时,不会产生中断,取而代之的是向系统发送一个复位信号。
本实验中,通过 WDCTL.MODE=0 来选择为看门口模式。
(2)选择定时间隔如上图所示,有四种可供选择的时钟周期,为了测试方便,我们选择时间间隔为 1s(即令WDCTL.INT=00)。
(3)放狗令 WDCTL.EN=1,即可启动看门狗定时器。
(4)喂狗定时器启动之后,就会从 0 开始计数。
在其计数值达到 32768 之前(即<1s ),若我们用以下代码喂狗:WDCTL=0xa0;WDCTL=0x50;则定时器的计数值会被清 0,然后它会再次从 0x0000 开始计数,这样就防止了其发送复位信号,表现在开发板上就是:LED1 会一直亮着,不会闪烁;若我们不喂狗(即把此代码注释掉),那么当定时器计数达到 32768 时,就会发出复位信号,程序将会从头开始运行,表现在开发板上就是:LED1 不断闪烁,闪烁间隔为 1s 。
CC2530基础例程实验手册

-6-
3 实验相关函数 void Delay(uint n);参见CC2530 基础实验1。 void Initial(void);参见CC2530 基础实验1。 void InitKey(void);函数原型:
6 睡眠定时器实验............................................................................................................................................- 55 6.1 CC2530 基础实验 17:系统睡眠工作状态..................................................................................... - 55 6.2 CC2530 基础实验 18:系统唤醒..................................................................................................... - 57 6.3 CC2530 基础实验 19:睡眠定时器使用......................................................................................... - 59 6.4 CC2530 基础实验 20:定时唤醒..................................................................................................... - 63 -
CC2530看门狗实验1

CC2530看门狗实验1/*****************************************//by 虚幻代码//名称:CC2530 看门狗实验1//说明:看门狗周期为1秒,每个主循环喂狗一次。
如果去除喂狗指令函数,系统将不断复位,指示灯闪烁。
//加上喂狗指令函数,系统将不再主动复位,指示灯不再闪烁。
*****************************************//*引用********************************************/#include<iocc2530.h>/*宏定义*****************************************/#define uint unsigned int#define rled P1_0#define gled P1_1/*函数定义*******************************///LED初始化void initled(void){P1SEL &=0XFC;//P1_0,P1_1接口设为通用接口模式P1DIR|=0X03;//P1_0,P1_1接口设为输出模式rled=1;gled=1;}//看门狗初始化void init_watchdag(void){WDCTL=0X00;//时间间隔为1秒WDCTL |=0X08;//看门狗模式}//设定系统主时钟void set_main_clock(source){if(source){CLKCONCMD |=0X40;//选择16MHZ RCOSC为系统时钟源while(!(CLKCONSTA &0X40));//等待时钟稳定}else{CLKCONCMD &=0XBF;//选择32MHZ XOSC为系统时钟源while(CLKCONSTA &0X40);//等待时钟稳定}}//清除看门狗定时器void feetdog(void){WDCTL=0XA0;WDCTL=0X50;}//延时函数void delay(uint n){uint i;for(i=0;i<n;i++);for(i=0;i<n;i++);for(i=0;i<n;i++);for(i=0;i<n;i++);for(i=0;i<n;i++);}/*主函数*******************************/void main(void){set_main_clock(0);initled();init_watchdag();delay(10000);rled=0;gled=0;while(1){feetdog();//喂狗指令(加入后系统不复位,小灯不闪烁)}}。
七__看门狗实验手册_专业尚阳

CC2430 DK ZigBee 开发板看门狗实验手册专业尚阳2010-01-10目录1 特性介绍 (3)1.1 看门狗模式 (3)1.2 定时器模式 (4)2 相关寄存器 (4)2.1 WDCTL (0xC9) –看门狗定时器控制.......... (4)3 实验及程序分析 (5)3.1 实验一 看门狗模式 (4)3.1.1 实验目的 (4)3.1.2 重要代码解析 (4)3.2 实验二 喂狗实验..................... . (4)3.2.1 实验目的 (4)3.2.2 重要代码解析 (4)在 CPU 可能受到一个软件颠覆的情况下,看门狗定时器(WDT)用作一个恢复的方法。
当软件在选定时间间隔内不能清除 WDT 时,WDT 必须就复位系统。
看门狗可用于受 到电气噪音,电源故障,静电放电等影响的应用,或需要高可靠性的环境。
如果一个应用不 需要看门狗功能,可以配置看门狗定时器为一个间隔定时器,这样可以用于在选定的时间间 隔产生中断。
看门狗定时器的特性如下:●四个可选的定时器间隔●看门狗模式●定时器模式●在定时器模式下产生中断请求●时钟独立于系统时钟WDT 可以配置为一个看门狗定时器或一个通用的定时器。
WDT 模块的运行由 WDCTL 寄存器控制。
看门狗定时器包括一个 15 位计数器,它的频率由 32.768kHz 振荡器时钟规定。
注意用户不能获得 15 位计数器的内容。
1 特性介绍1.1 看门狗模式在系统复位之后,看门狗定时器就被禁用。
要设置 WDT 在看门狗模式,必须设置 WDCTL.MODE 位为 0 。
当 WDCTL.EN 位设置为 1,看门狗定时器的计数器开始递增。
在 看门狗模式下,一旦定时器使能,就不可以禁用定时器,比如,当 WDCTL.MODE 是 0,如 果 WDCTL.EN 位已经写入了 1 ,再往这个位写入 0 就不起作用了。
WDT 运行在一个频率为 32.768 kHz 的看门狗定时器时钟上。
看门狗实验

看门狗实验一、实验目的1.掌握“看门狗”(MAX 813L )复位控制的硬件接口技术2.掌握“看门狗”(MAX 813L )复位控制驱动程序的设计方法二、实验说明为了控制系统不受外界干扰而出现死机现象,可采用MAX813L 复位监控芯片,该芯片具备复位及监视跟踪两大功能。
主要功能:·精密电源电压、监控4.65V ·200ms 复位脉冲宽度·V1=1V 时保证复位RESET 有效。
·TTL/CMOS 兼容的防抖动人工复位输入·独立的监视跟踪定时器1.6S 溢出时间。
·电源故障或欠电压报警的电压监控 ·加电,掉电有电压降低时输出复位信号。
·低电平有效的人工复位输入 。
各引脚的功能和意义如图:(1)MR :人工复位输入、当输入降至0.8V 时产生复位脉冲,低电平有效的输入可用开关短路 到地或TTL/CMOS 逻辑驱动,不用时浮空。
(2)VCC :+5V 输入。
(3)GND :地。
(4)PFI :电源故障比较器输入,高PFI 低于1.25V 时PFO 输出低电平吸收电流;否则PFO 输出保持高电平,如果不用将PFI 接地或VCC 。
(5)PFO :电源故障比较器输出,高PFI 低于1.25V 时,输出低电平且吸收电流;否则PFO 输出 保持高电平。
(6)WDI :监视跟踪定时器输入,WDI 保持高或低电平时间长达1.6S ,WDI 输出低电平,WDI 浮空或接高阻三态门将禁止监控跟踪定时器功能,只要发生复位,内部监视跟踪定时的清零。
(7)RESET :复位输出(低电平有效)。
(8)WDO :监视跟踪定时器输出,当内部监视跟踪定时器完成1.6S 计数后,本脚输出低电平,直到下一次监视跟踪定时器清零, 才再变为高电平,在低电源或VCC 低于复位门限电压时,WDO 就保持低电平,只要VCC 上升到复位门跟电压以上后 WDO 就变为高电平而没有滞后。
看门狗计数器(WatchDog)

2.1 看门狗计数器(WatchDog)SPCE061A的WatchDog的清除时间周期为0.75s。
因为WatchDog的溢出复位信号WatchDog_Reset是由4Hz时基信号经4分频之后产生的,即每4个4Hz时基信号(1s)将会产生一个WatchDog_Reset信号,如图 2.22所示。
而清除WatchDog的WatchDog_Clear信号却可以发生在4Hz信号(0.25s)之间的任意一个时刻点上。
假如WatchDog_Clear信号发生在4Hz信号尾端的0.01s即第0.25s时刻,此时虽然WatchDog 被清掉,但由于它发生在4Hz信号之后,再经3个4Hz信号即0.75s,如果一直没有WatchDog_Clear信号,便会产生出一个WatchDog_Reset信号。
注意:SPCE061A的看门狗功能是上电自动使能,不能够被屏蔽。
因此用户使用时,注意要在0.75s内,进行清狗操作。
Watchdog_Reset图2.22 WatchDog的结构和信号时序当然,如果WatchDog_Clear信号发生在4Hz信号始端的0.01s,则经过0.99s若无WatchDog_Clear信号便会产生WatchDog_Reset信号。
因此,清除WatchDog的时间周期为0.75s。
表2.32列出了WatchDog配置单元P_WatchDog_Clear及其内B0对WatchDog清除的控制。
清除WatchDog只需写入P_WatchDog_Clear单元‘0x0001’即可。
此外,若32768Hz振荡器被打开,则在空闲方式期间WatchDog功能是被激活的。
表2.1WatchDog的配置及WatchDog的清除配置单元读写属性存储地址配置单元功能说明P_WatchDog_Clear 写7012H 清除WatchDog单元B15~B1 B0控制位功能解释―――WatchDog_Clear0~0 0 不清除WatchDog100~0 1 清除WatchDog11。
嵌入式实验: 看门狗实验

// Argument : void
*****************************************************************************/
void rtc_tick_isr(void)
{
Irq_Clear(IRQ_TICK); /*清除TICK中断*/
/*****************************************************************************
// Function name: rtc_tick_isr
// Description: TICK中断处理程序,程序中设置每秒钟引发一次中断
//程实现看门狗功能,观察看门狗作用;
2.编程实现看门狗喂狗。
二、实验代码
voidMain(void)
{
int old_index ;
st_date m_date;
/*配置系统时钟*/
ChangeClockDivider(1,1); // 1:2:4
ChangeMPllValue(0xa1,0x3,0x1); // FCLK=202.8MHz
/*中断初始化*/
Isr_Init();
/*初始化端口*/
Port_Init();
/*初始化串口*/
Uart_Init(0,115200);
Uart_Select(0);
/*打印提示信息*/
PRINTF("\n---看门狗测试程序---\n");
PRINTF("\n请将UART0与PC串口进行连接,然后启动超级终端程序(115200, 8, N, 1)\n");
看门狗应用实验

1
看门狗模块包括一个预比例因子放大器,一个是四分频器,一个 16bit 计数器。看门狗 的时钟源来自 PCLK,为了得到较宽范围的看门狗信号,PCLK 先被预分频,之后再经过分 频器分频。预分频比例因子的分频值,都可以由看门狗控制器(WTCON)决定,预分频值 的有效范围从 0 到 256-1。分频因子可以选择 16、32、64 或者 128。 看门狗定时器记数值的计算公式如下:
SetSysFclk(DFT_FCLK_VAL);//Fout=200MHZ
Port_Init();
Uart_Select(0); Uart_Init(0, UART_BAUD); Uart_Printf("watchdog test is beginning\n");
watchdog_test(); }
//mask watchdog timer interrupt DisableIrq(BIT_WDT); Uart_Printf("watch dog is ok\n"); } }
7、实验过程
运行该程序后,将会在一段时间后自动产生一个复位信号,自动启动开发板。
5
实验4看门狗应用实验1实验目的了解watchdog的作用掌握s3c2410的watchdog定时器的使用方法2实验内容编程实现看门狗喂狗3实验设备s3c2410开发板ads12集成开发环境jtag调试器串口连接线4实验原理41看门狗功能简述嵌入式系统运行时受到外部干扰或者系统错误程序有时会出现跑飞导致整个系统瘫痪
WTCNT――看门狗定时器计数寄存器 WTCNT 为看门狗定时器工作的时间计数器的当前计数值,注意在初始化看门狗操作 后,看门狗数据寄存器(WTDAT)的值不能自动装载到看门狗计数寄存器(WTCNT)中, 所以看门狗被允许之前应高初始化看门狗计数寄存器的值。
MSP430F5438实验手册

目录1.实验1 USC时钟系统------------------------------------------------------------------------------------------------------22.实验2 GPIO和EXTI-------------------------------------------------------------------------------------------------------33.实验3 串口通信UART----------------------------------------------------------------------------------------------------44.实验4 SPI通信------------------------------------------------------------------------------------------------------------55.实验5 I2C通信------------------------------------------------------------------------------------------------------------66.实验6 Timer_A定时器---------------------------------------------------------------------------------------------------77.实验7 Timer_B定时器--------------------------------------------------------------------------------------------------108.实验8 看门狗WDT--------------------------------------------------------------------------------------------------------139.实验9 RTC时间-----------------------------------------------------------------------------------------------------------1410.实验10 ADC_12----------------------------------------------------------------------------------------------------------1511.实验11 Flash编程-----------------------------------------------------------------------------------------------------1612.实验12 低功耗LPM-----------------------------------------------------------------------------------------------------1713.实验13 DMA传输--------------------------------------------------------------------------------------------------------1914. 实验14 键盘数码管ZLG7290----------------------------------------------------------------------------------------2115. 实验15 液晶显示LCD1602-------------------------------------------------------------------------------------------2216. 实验16 液晶显示LCD12864-----------------------------------------------------------------------------------------2317. 实验17 液晶显示TFT-------------------------------------------------------------------------------------------------2418. 实验18 数字温度传感器DS18B20----------------------------------------------------------------------------------25实验1 USC时钟系统一.实验原理图 Array二.实验步骤1. 下载程序。
7_看门狗(WatchDog)(免费下载)

在程序里如何进行喂狗操作呢?一般的做法是,先编写一个能够使 WDI 状态反转的喂 狗函数,然后把函数调用插入到每一个可能导致长时间执行的程序段里,最常见的情况是 while(1)、for(;;)之类的无条件循环语句。
一旦程序因为意外情况跑飞,很可能会陷入一个不含喂狗操作的死循环里,超过 1.6s 后就会自动复位重来,而不会永远停留在故障状态。
3
表 1.2 函数 WatchdogEnable( )
为了防止在调试软件时看门狗产生复位,看门狗模块还提供了允许其暂停计数的功能。
1.3 如何正确使用看门狗
看门狗真正的用法应当是:在不用看门狗的情况下,硬件和软件经过反复测试已经通过, 而在考虑到在实际应用环境中出现的强烈干扰可能造成程序跑飞的情况时,再加入看门狗功 能以进一步提高整个系统的工作可靠性。可见,看门狗只不过是万不得已的最后手段而已。
函数 WatchdogRunning( )可以探测看门狗是否已被使能。参见表 1.3 的描述。 函数 WatchdogResetEnable( )使能看门狗定时器的复位功能,一旦看门狗定时器产生了 二次超时事件,将引起处理器复位。函数 WatchdogResetDisable( )禁止看门狗定时器的复位 功能,此时可以把看门狗作为一个普通定时器来使用。参见表 1.4 和表 1.5 的描述。 在进行单步调试时,看门狗定时器仍然会独立地运行,这将很快导致处理器复位,从而 破坏调试过程。函数 WatchdogStallEnable( )允许看门狗定时器暂停计数,可防止在调试时引 起不期望的处理器复位。函数 WatchdogStallDisable( )将禁止看门狗定时器暂停。参见表 1.6 和表 1.7 的描述。
看门狗图文全攻略 全任务剧情+系统技能解析

看门狗图文全攻略全任务剧情+系统技能解析看门狗是育碧2014年的3A级重磅大作,那是要说有多牛X就有多牛X,游戏故事与背景小编也不再多做赘述了,直奔主题,为大家奉上游戏看门狗图文攻略,内容包括基本的游戏操作,全主线任务、剧情、系统、技能解析、等等,还有一些直线、收集、小游戏之类的说明。
第一章01 8局下半“8局下半”为棒球术语,棒球比赛有9局,八局下半也就是说比赛进入了白热化,游戏初始的剧情就是在棒球比赛馆中举行的。
剧情:艾登与他的师傅戴米安内应外合,艾登负责潜入到海洛特酒店的大厅,艾登马上开始骇入,两人过了片刻便盗取了大厅所有人的银行账户存款。
可是艾登发现了此网路亦有另一伙人骇入,可是戴米安却不以为然,仍希望通过一己之力揪出竞争对手,可是被人对方骇入了艾登与戴米安的系统,艾登只好马上脱离。
反侦察戴米安与艾登的神秘人致电给一名叫作莫里斯的收尾者,让他去收拾艾登及其妻女。
剧情:(11个月之后)艾登找到了莫里斯,将他打得眼肿鼻青,但此人矢口否认与艾登家人被害有关,随后艾登便拿出了莫里斯与神秘人的对话录音。
莫里斯终于承认了自己有参与袭击,但是他没有意识到要袭击小孩,他就没有痛下杀手,他告诉艾登,操纵此事件的幕后集团相当庞大,一旦他泄露,肯定人间蒸发。
1.莫里斯不肯说出实情,拿出手枪要吓唬他一下,此时手枪并没有子弹,对准莫里斯然后按RT键。
2.被耍,莫里斯马上捡起地上的球棒往艾登袭击,此时按B键使用伸缩棍予以还击,将其打晕。
3.莫里斯如此守口如瓶,走到75周年锦旗旁的货物架前,按X键骇入莫里斯的收集。
剧情:听完莫里斯手机中的录音后,离开更衣室,去到走廊上会遇到莫里斯的几个手下,约尔迪出手相助。
约尔迪才离开艾登2分钟,艾登就因为急于盘问莫里斯就冲动行事,约尔迪之前离开就是去打电话报警,因为他知道艾登莽撞,所以喊来警察,然后将现场伪装成是帮派内讧的情节,那么黑道就不容易会追查到艾登他们。
4.两人决定分头逃跑,因为艾登与莫里斯的仇恨太深,所以让约尔迪带着昏睡的莫里斯离开。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
01 定时周期x 8192 (典型值0.25 s)
10 定时周期x 512 (典型值15.625 ms)
11 定时周期x 64 (典型值1.9 ms)
郑州新双恒信息技术有限公司
郑州新双恒
2.3 实验
2.3.1 实验一 看门狗启用 2.3.1.1 实验目的
程序在主程序中没有连续改变小灯的状态,而在开始运行时将其关闭,延时后点亮。实 验现象是一只小灯不断闪烁,这是因为程序中启动了看门狗,看门狗时间长度为1 秒,如果 1 秒内没有复位看门狗的话,系统将复位。系统复位后再次开启看门狗,1 秒后复位。
式写0到该位没有影响。
0 禁用定时器 (停止定时器)
1 定时器使能
2 MODE 1:0 INT[1:0]
0
R/W 模式选择。该位选择看门狗定时器模式.
0 看门狗模式
1 定时器模式
00 R/W 定时器间隔选择。这些位选择定时器间隔定义作为 32.768 kHz 振荡器周期的规定数。
00 定时周期 x 32768 (典型值1 s)
郑州新双恒
蜂舞 FW4000
看门狗实验手册
郑州新双恒信息技术有限公司 2009-11-19
注:本手册应用于蜂舞 FW4000 系列套件,仅是作为学习 Z-Stack 协议栈开发、学习、研究 的辅助文档。
郑州新双恒信息技术有限公司
郑州新双恒
2.3.1.3 重要代码解析 //初始化时钟 void Init_Clock(void) { CLKCON = 0X00; }
//初始化看门狗 void Init_Watchdog(void) {
WDCTL = 0x00; //时间间隔一秒,看门狗模式
WDCTL |= 0x08; //启动看门狗 }
网址: QQ 群:83028739(已满)
28816636(未满)
郑州新双恒信息技术有限公司
//复位看门狗 void FeetDog() {
WDCTL = 0xa0; WDCTL = 0x50; }
郑州新双恒信息技术有限公司
郑州新双恒
版权声明
郑州新双恒信息技术有限公司拥有本文的版权。本文免费供大家 一起学习交流。欢迎在网络上转载本译文,请保证本译文的完整,并 注明出处。如果你在转载的时候,需要对本译文进行修改或重新编辑 , 请与本公司的联系。谢谢!
2.1 特性介绍
2.1.1 看门狗模式 在系统复位之后,看门狗定时器就被禁用。要设置 WDT 在看门狗模式,必须设置
WDCTL.MODE 位为 0 。当 WDCTL.EN 位设置为 1,看门狗定时器的计数器开始递增。在 看门狗模式下,一旦定时器使能,就不可以禁用定时器,比如,当 WDCTL.MODE 是 0,如 果 WDCTL.EN 位已经写入了 1 ,再往这个位写入 0 就不起作用了。
2.2 相关寄存器..................................................................... 3 2.2.1 WDCTL (0xC9) –看门狗定时器控制................ 3
2.3 实验................................................................................. 4 2.3.1 实验一 看门狗启用...............................................4 2.3.1.1 实验目的..........................................................4 2.3.1.2 实验技术条件..................................................4 2.3.1.3 重要代码解析..................................................4
郑州新双恒信息技术有限公司
郑州新双恒
在 CPU 可能受到一个软件颠覆的情况下,看门狗定时器(WDT)用作一个恢复的方 法。当软件在选定时间间隔内不能清除 WDT 时,WDT 必须就复位系统。看门狗可用于受 到电气噪音,电源故障,静电放电等影响的应用,或需要高可靠性的环境。如果一个应用不 需要看门狗功能,可以配置看门狗定时器为一个间隔定时器,这样可以用于在选定的时间间 隔产生中断。 看门狗定时器的特性如下:
WDT 运行在一个频率为 32.768 kHz 的看门狗定时器时钟上。这个时钟频率的超时期限 等于 1.9ms,15.625 ms,0.25 s 和 1s,分别对应 64, 512, 8192 和 32768 的计数值设置。
如果计数器达到选定定时器的间隔值,看门狗定时器就为系统产生一个复位信号。如果 在计数器达到选定定时器的间隔值之前,执行了一个看门狗清除序列,计数器就复位到 0x0000,并继续递增。看门狗清除序列包括在一个半看门狗时钟周期内,写入 0xA 到 WDCTL.CLR[3:0] ,然后写入 0x5 到同一个寄存器位。如果这个序列没有执行完整,看门 狗定时器就为系统产生一个复位信号。注意只要在选定定时器间隔内开始了一个正确的看门 狗清除序列,当收到完整的序列时,计数器就复位。 当看门狗模式下,看门狗定时器使能,就不能通过写入 WDCTL.MODE 位改变这个模式。 定时器间隔值可以通过写入 WDCTL.INT[1:0]位加以改变。 注意在定时器间隔改变的同时,建议用户软件清除看门狗定时器,以避免一个不希望的看门 狗复位。 在看门狗模式下,WDT 不会产生一个中断请求。 2.1.2 定时器模式
如果1秒内复位了看门狗,系统不会复位,灯也不会闪烁。 2.3.1.2 实验技术条件
(1)FW4000 评估主板 1 套 (2)FW2430-MO2 无线模块 1 块 (3)USB 线 1 条 (4)杜邦线,跳线冒
需要跳线的位置 3.3IN--+3.3V RSET—RSIN DC—P2.2 DD---P2.1 LED4—P1.5 LED5---P1.4
定时器间隔由 WDCTL.INT[1:0]位设置。在定时器模式下,当达到定时器间隔时,不会 产生复位。
郑州新双恒信息技术有限公司
郑州新双恒
2.2 相关寄存器
2.2.1 WDCTL (0xC9) –看门狗定时器控制
位 名称 7:4 CLR[3:0]
3 ENLeabharlann 复位 R/W 描述目录
2.1 特性介绍......................................................................... 2 2.1.1 看门狗模式..............................................................2 2.1.2 定时器模式..............................................................3
0000 R/W 清除定时器。当0xA跟随 0x5 写到这些位,定时器 加载 0x0 。注意定时器仅写入0xA后当在0.5个看门
狗时钟周期写入0x5时被清除。当 EN为 0 时写这
些位没有影响。 这些位读出来经常是 0000.。
0
R/W 使能计时器。当1写到该位时定时器启动并且开始递
增。在定时器模式写0到该位停止定时器。在看门狗模
要在一 般定 时器 模式 下设 置 WDT,必须 把 WDCTL.MODE 位置 1 。当寄 存器 位 WDCTL.EN 置 1 时,定时器开始,且计数器开始递增。当计数器达到选定间隔值,定时器 将产生一个中断请求。
在定时器模式下,可以通过写入 1 到 WDCTL.CLR[0]来清除定时器内容。当定时器被 清除,计数器的内容就置为 0x0000。写入 0 到使能位 WDCTL.EN 来停止定时器,写入 1 来 使定时器从 0x0000 重新启动。