#include "stm32f10x.h" // Device header
#include "Delay.h"
#define bbb GPIO_Pin_2
#define led GPIO_Pin_3
#define key GPIO_Pin_0
void delay_ms(uint32_t time)
{
int32_t i;
while(time--)
{
i=7500;
while(i--);
}
}
int main()
{
uint8_t flag = 0;
RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA,ENABLE);
GPIO_InitTypeDef A;
A.GPIO_Mode = GPIO_Mode_IPU;
A.GPIO_Pin = GPIO_Pin_0;
A.GPIO_Speed = GPIO_Speed_50MHz;
GPIO_Init(GPIOA,&A);
GPIO_InitTypeDef B;
B.GPIO_Mode = GPIO_Mode_Out_PP;
B.GPIO_Pin = GPIO_Pin_2 | GPIO_Pin_3;
B.GPIO_Speed = GPIO_Speed_50MHz;
GPIO_Init(GPIOA,&B);
while(1)
{
if(GPIO_ReadInputDataBit(GPIOA,key) == 0)
{
delay_ms(20);
if(flag == 0)
{
GPIO_SetBits(GPIOA,bbb); //GPIO_SetBits(GPIOA,bbb);
GPIO_ResetBits(GPIOA,led); //GPIO_SetBits(GPIOA,led);
flag = 1;
}
else if(flag == 1)
{
GPIO_SetBits(GPIOA,led); //GPIO_ResetBits(GPIOA,bbb);
GPIO_ResetBits(GPIOA,bbb); //GPIO_ResetBits(GPIOA,led);
flag = 0;
}
}
}
}