⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 main.c

📁 周立功2103开发板CD资料
💻 C
字号:
/****************************************Copyright (c)**************************************************
**                               Guangzhou ZHIYUAN electronics Co.,LTD.
**                                 http://www.zyinside.com
**
**--------------File Info-------------------------------------------------------------------------------
** File name:           main.c
** Last modified Date:  2006-02-22
** Last Version:        1.0
** Descriptions:        header file of the specific codes for LPC2200 target boards
**              Every project should include a copy of this file, user may modify it as needed
**------------------------------------------------------------------------------------------------------
** Modified by: 
** Modified date:
** Version: 
** Descriptions: 
**
********************************************************************************************************/

#define IN_MAIN
#include "config.h"
#include "watchdog.h"

#define  INT_WDT     0       //看门狗中断号
#define  KEY1        1<<14	 //P0.14
#define  BEEP        1<<7	 //P0.7  控制蜂鸣器

#pragma import(__use_no_semihosting_swi)        //don't delete this line
/*********************************************************************************************************
**函数名称: IRQ_Exception
**函数功能: 中断异常处理函数,不能删除 
********************************************************************************************************/
void  IRQ_Exception(void)
{
}


/*********************************************************************************************************
** 函数名称:	WDT_ISR()
** 函数功能:	看门狗中断服务函数。
** 入口参数:	无 
** 出口参数:	无 
********************************************************************************************************/
void WDT_ISR(void)
{
    uint32 i;
    
    //蜂鸣器鸣叫
    IO0CLR = BEEP;
    for(i = 0; i < 0x7fffff; i++);
    IO0SET = BEEP;
    
    WDMOD = 0; 				   //清零看门狗超时标志

    VICIntEnClr = 1<<INT_WDT;  //看门狗溢出中断只能通过禁止VIC的方式返回
    VICVectAddr = 0x00;        //通知VIC中断结束
}


/*********************************************************************************************************
** 函数名称: void delay(uint32 dly)
**
** 功能描述: 延时函数
**
********************************************************************************************************/
void delay(uint32 dly)
{
	uint32 i;
	for(;dly > 0; dly--)
		for(i = 0; i < 50000; i++);
}

/*********************************************************************************************************
** 函数名称: Main()
** 函数功能: 演示看门狗溢出产生中断
********************************************************************************************************/
void Main(void)
{
    TargetInit(VPBDIV_DATA, PLLCFG_DATA, MAMTIM_DATA);      // don't delete
	while((PLLSTAT & (1 << 10)) == 0);                      // can delete
    
	PINSEL0 = 0x00000000;
	IO0DIR = BEEP;
	IO0SET = BEEP;

	IO0CLR = BEEP;    		        // 蜂鸣器鸣叫一声
    delay(10);
    IO0SET = BEEP;

    while((IO0PIN &KEY1));		    // 等待P0.14脚拉低。

    WatchDogInit(600000,0);                         // 初始化看门狗,定时时间:tpclk×4×(600000+1),禁止复位功能
    
    SetISR(INT_WDT, 0,(unsigned int)WDT_ISR);      // 设置看门狗中断服务函数
    IRQEnable(); 								   // 打开中断
    while(1)
    {
       //用按键模拟导致无法周期性喂狗的意外情况
        while((IO0PIN &KEY1));		// 等待P0.14脚拉高。
     
        FeedDog();					// 喂狗时序

        //蜂鸣器鸣叫
        IO0CLR = BEEP;    
        delay(10);
        IO0SET = BEEP;
		delay(10);
        
     }
}


/*********************************************************************************************************
**                            End Of File
********************************************************************************************************/

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -