main.c

来自「该包为一部分zlg MiniARM2200的基础测试代码。包括GPIOUARTI」· C语言 代码 · 共 65 行

C
65
字号
/****************************************************************************
* 文 件 名: main.c
* 功    能: 看门狗溢出范例。
* 说    明: 运行WDT,并控制LED显示输出。程序开始先对LED闪烁控制,并进行喂狗
*           处理,然后LED长亮,并进入死循环,等待WDT复位。 建议在RelOutChip 
*           下载,并复位开发板后观察现象。
****************************************************************************/
#include "config.h"

#define BUZZER 1<<21
#define KEY1   1<<20
#define KEY2   1<<22
#define LED    1<<19

void  DelayNS(uint32  dly);

/****************************************************************************
* 函数名称: main
* 功能描述: 主函数
****************************************************************************/
int  main(void)
{   uint8  i;

    PINSEL0 = 0x00000000;               // 设置P0为GPIO
    PINSEL1 = 0x00000000;               // 设置P0为GPIO
    IO0DIR  = BUZZER | LED;             // 设置GPIO方向
    IO0SET = LED;
    IO0CLR = BUZZER;
    
    WDTC = 11059200;                    // 设置WDTC,喂狗重装值
    WDMOD = 0x03;						// 复位并启动WDT
    WDFEED = 0xAA;                      // 进行喂狗操作 
    WDFEED = 0x55;
    
    for(i=0; i<8; i++) 
    {  
        IO0SET = LED;
        DelayNS(20);
        IO0CLR = LED;
        DelayNS(20);
        WDFEED = 0xAA;                  // 进行喂狗操作 
        WDFEED = 0x55;
    }
    while(1); 
      
    return(0);
}

/****************************************************************************
* 函数名称: DelayNS()
* 功能描述: 长软件延时
* 入口参数: dly		延时参数,值越大,延时越久
* 出口参数: 无
****************************************************************************/
void  DelayNS(uint32  dly)
{   uint32  i;

    for(; dly>0; dly--) 
    {
        for(i=0; i<5000; i++);
    }
}


⌨️ 快捷键说明

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