main.c
#include "led.h"
#include "delay.h"
#include "sys.h"
#include "key.h"
int main(void)
{
u8 t;
delay_init();
LED_Init();
KEY_Init();
LED0 = 0;
while(1)
{
t = KEY_Scan(0);
switch(t)
{
case KEY0_PRES:
LED0 =! LED0; break;
case KEY1_PRES:
LED1 =! LED1; break;
case WKUP_PRES:
LED0 = !LED0; LED1 = !LED1; break;
default:
delay_ms(10);
}
}
}
key.c
#include "led.h"
void LED_Init(void)
{
GPIO_InitTypeDef GPIO_InitStructure;
RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA | RCC_APB2Periph_GPIOD, ENABLE);
GPIO_InitStructure.GPIO_Pin = GPIO_Pin_8;
GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP;
GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;
GPIO_Init(GPIOA, &GPIO_InitStructure);
GPIO_SetBits(GPIOA,GPIO_Pin_8);
GPIO_InitStructure.GPIO_Pin = GPIO_Pin_2;
GPIO_Init(GPIOD, &GPIO_InitStructure);
GPIO_SetBits(GPIOD,GPIO_Pin_2);
}
key.h
#ifndef __LED_H
#define __LED_H
#include "sys.h"
#define LED0 PAout(8)
#define LED1 PDout(2)
void LED_Init(void);
#endif
|