```c
typedef struct
{
GPIO_TypeDef* GPIOx;
uint16_t GPIO_Pin;
}LED_GPIO;
LED_GPIO led_00 = { GPIOA,GPIO_Pin_6 };
LED_GPIO led_01 = { GPIOA,GPIO_Pin_7 };
void LED_twinkle(LED_GPIO led_xx)
{
GPIO_ResetBits( led_xx.GPIOx,led_xx.GPIO_Pin );
delay_ms(100);
GPIO_SetBits( led_xx.GPIOx,led_xx.GPIO_Pin );
delay_ms(100);
}
```
1.对于简化代码可以在开头定义几个变量
#define get_key1 GPIO_ReadInputDateBit(GPIOX,GPIO_PIN_N) //将按状态读取给get_key变量
……
void light(x,y,z)//x是什么按键按下,y,z是所要点亮的灯的引脚号 参考GPIOX_PIN_xx
{
int x,y,z;
if(…)//判断x按键按下
{
…sitbits(…);//点亮灯y
delay(…);//延时
…resitebits(…);//熄灭灯
}
}
如果想要实现哪个按键按下后就哪个灯亮,每次使用上述函数就行,每次给予数值x,y,z(x按键标号,y为gpio 的大类:A B C D,z为引脚号)