说明:GPIOA,GPIO_Pin_0对应key1;GPIOA,GPIO_Pin_1对应key2;GPIOA,GPIO_Pin_2对应LED1;GPIOA,GPIO_Pin_3对应LED2
#include "stm32f10x.h"
#include "stm32f10x_rcc.h"
#include "stm32f10x_gpio.h"
#include "system_stm32f10x.h"
/* 控制小灯: 0 灭 1 亮 */
#define ON 1
#define OFF 0
#define KEY_ON 0
#define KEY_OFF 1
void RCC_Configuration(void);
void GPIO_Configuration(void);
void SetLed(uint8_t set);
void delay_ms(u16 time);
uint8_t KeyScan(GPIO_TypeDef * GPIOx, uint16_t GPIO_Pin_x);
int main()
{
SystemInit();
RCC_Configuration();
GPIO_Configuration();
SetLed(ON);
while (1)
{
if (KeyScan(GPIOA,GPIO_Pin_0) == KEY_ON)
{
/* LED1反转 读取GPIOA 0端口位的值并用1减去之后再写入此位即LED1的控制位 */
GPIO_WriteBit(GPIOA,GPIO_Pin_2,(BitAction)(1-GPIO_ReadOutputDataBit(GPIOA,GPIO_Pin_2)));
}
if (KeyScan(GPIOA,GPIO_Pin_1) == KEY_ON)
{
/* LED2反转 读取GPIOA 0端口位的值并用1减去之后再写入此位即L