#include <stdio.h>
#include <string.h>
#include "stdlib.h"
#include "ddl.h"
#include "gpio.h"
//---------------------------------------------------------------------
#define LED_init() Gpio_InitIO(3, 3, GpioDirOut) //初始化IO
#define LED_enable Gpio_SetIO(3, 3, 0) //IO输出值设定(3,3=ip模块板)
#define LED_disable Gpio_SetIO(3, 3, 1) //IO输出值设定
//---KEY1---//初始化IO: 端口,引脚,方向,上拉,下拉,开漏,增强驱动
#define KEY1_init() Gpio_InitIOExt(2, 6, GpioDirIn, TRUE, FALSE, FALSE, FALSE)
#define CHK_key1() Gpio_GetIO(2, 6) //模块板
//---------------------------------------------------------------------
//---------------------------------------------------------------------
int32_t main(void)
{ uint8_t a, led_flag;
stc_clk_config_t stcClkCfg;
//---------------------------------------------------------------------
stcClkCfg.enClkSrc = ClkRCH; //内部高速(需再设频率值) 时钟源切换
Clk_SetRCHFreq(ClkFreq22_12Mhz); //ClkFreq22_12Mhz
stcClkCfg.enHClkDiv = ClkDiv1; //不分频
stcClkCfg.enPClkDiv = ClkDiv1;
Clk_Init(&stcClkCfg); //时钟初始化函数(内含Clk_SwitchTo)
//---------------------------------
KEY1_init();
LED_init();
//---
LED_enable; //点灯
delay_1ms(200);
LED_disable; //熄灯
//---
delay_1ms(1000);
Clk_SwitchTo(ClkXTH);
//---
LED_enable; //点灯
delay_1ms(200);
LED_disable; //熄灯
delay_1ms(200);
LED_enable; //点灯
delay_1ms(200);
LED_disable; //熄灯
while(1)
{ if (!CHK_key1())
{ delay_1ms(20);
a = 0;
led_flag = 1;
LED_enable; //点灯
while (!CHK_key1()) //
{ delay_1ms(1);
a++;
if (!(a % 100))
{ led_flag++;
if (led_flag % 2)
{ LED_enable; //点灯
}
else
{ LED_disable; //熄灯
}
}
}
LED_disable; //熄灯
}
}
}
|