打印
[DemoCode下载]

N79E715系列看门狗定时器例程

[复制链接]
楼主: dongnanxibei
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
dongnanxibei|  楼主 | 2017-1-14 20:31 | 显示全部楼层 回帖奖励 |倒序浏览 |阅读模式
/*---------------------------------------------------------------------------------------------------------*/
/*                                                                                                         */
/* Copyright(c) 2015 Nuvoton Technology Corp. All rights reserved.                                         */
/*                                                                                                         */
/*---------------------------------------------------------------------------------------------------------*/

//***********************************************************************************************************
//  Nuvoton Technology Corp.
//  E-mail: MicroC-8bit@nuvoton.com
//***********************************************************************************************************
//  Application: WDT Function
//  Set watch counter and enable WDT interrupt. WDT ISR will be execute when WDT time out.
//
//  Output : P1.4 & P2.1 toggle by WDT interrupt
//***********************************************************************************************************

//========================================= How to set WDT register =========================================
//
//  1.WDT time-out period is 64 /(Fwck + Prescalar);
//
//  2.Fwck is frequency of WDT clock source
//
//  3.Prescalar = WDCON0 & 0x07
//===========================================================================================================

//------------------------- <<< Use Configuration Wizard in Context Menu >>> --------------------------------
//
//<o0.0..2> WDT Prescalar Select
//      <0=> 1/1    <1=> 1/2    <2=> 1/8    <3=> 1/16
//      <4=> 1/32   <5=> 1/64   <6=> 1/128  <7=> 1/256
//     <o1.6> UART pin Select
//         <0=> Select P1.0, P1.1 as UART pin            <1=> Select P2.6, P2.7 as UART pin(28 pin only)
//-------------------------------- <<< end of configuration section >>> -------------------------------------

#define WDT_CLK_DIV     0x01
#define Uart_Port_Sel   0x00

#include <stdio.h>
#include "N79E715.h"
#include "Typedef.h"
#include "Define.h"
#include "Common.h"
#include "Delay.h"
#include "WDT.h"
#include "Version.h"
bit EA_Save_bit;
//-----------------------------------------------------------------------------------------------------------
void main(void)
{
    AUXR1 |= Uart_Port_Sel;             // Select P10/P11 as UART pin(default)
    InitialUART0_Timer1(9600);          // 9600 Baud Rate [url=home.php?mod=space&uid=72445]@[/url] 11.0592MHz
    Show_Version_Number_To_PC();
    printf ("\n*===================================================================");
    printf ("\n*  Name: N79E715 Series WDT Sample Code.");
    printf ("\n*===================================================================");
    printf ("\nWDT Demo Start.");
    printf ("\nP1.4 & P2.1 toggle by polling.\n");

    EA_Save_bit = EA;
    EA = 0;
    TA = 0xAA;
    TA = 0x55;
    WDCON0 &= 0xf8;
    TA = 0xAA;
    TA = 0x55;
    WDCON0 |= WDT_CLK_DIV;              // Select bit length of WDT counter
    EA = EA_Save_bit;

    set_WDCLR;                          // Clear WDT counter
    clr_WDTF;
    set_WDTEN;                          // Enable WDT
    EWDI = 1;                           // Enable WDT interrupt
    EA = 1;                             // Enable interrupt
    while(1);
}
//-----------------------------------------------------------------------------------------------------------
void WDT_ISR(void)  interrupt 10        // Vector @  0x53
{
    clr_WDTF;                           // Clear WDT flag
    P14 = ~P14;                         // P1.4 toggle when interrupt
    P21 = ~P21;                         // P2.1 toggle when interrupt
}
//-----------------------------------------------------------------------------------------------------------


沙发
dongnanxibei|  楼主 | 2017-1-14 20:32 | 显示全部楼层
我们看,官方提供了很多封装好的头文件。只需要调用里面的宏就行了。
比如看门狗的操作,一看就是通过宏替换实现的。

使用特权

评论回复
板凳
dongnanxibei|  楼主 | 2017-1-23 20:07 | 显示全部楼层
看门狗要谨慎使用,使用不当会给系统造成很大的不便。

使用特权

评论回复
地板
dongnanxibei|  楼主 | 2017-1-27 15:00 | 显示全部楼层
用看门狗可以唤醒系统。

使用特权

评论回复
5
dongnanxibei|  楼主 | 2017-1-30 12:58 | 显示全部楼层
多种定时器都可以用于定时中断

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

212

主题

3689

帖子

16

粉丝