有哪位可以给我讲讲这部分代码是怎么写出来的吗?它的步骤。
char count=0;
void delay(int n)//½áÊø
{
while(n--);
}
int main(void)
{
_Bool x,z;
LED_GPIO_Config();
//LED0(OFF);
Key_GPIO_Config();//zhenglieshi
x=GPIO_ReadInputDataBit(GPIOA,GPIO_Pin_0);
z=x;
while(1)
{
//x=KEY_Scan(GPIOA,GPIO_Pin_0);
x=GPIO_ReadInputDataBit(GPIOA,GPIO_Pin_0);
if(x==KEY_ON)
{
delay(1000);
z=GPIO_ReadInputDataBit(GPIOA,GPIO_Pin_0);
if(z!=KEY_ON)
{
count++;
}
}
if(count%2==0)
{
GPIO_ResetBits(GPIOB,GPIO_Pin_0);
}
else
GPIO_SetBits(GPIOB,GPIO_Pin_0);
}}
void delay(int n)//½áÊø
{
while(n--);
}
这段程序是一段延时程序,根据入参n,决定延时的长短。严格来讲,n应该为unsigned int类型。
main函数中,先进行LED和按键的GPIO配置(一个GPIO输出、一个GPIO输入)。
然后读取两次按键的状态(高电平还是低电平),如果前一次为高电平(不一定代表按下,要结合宏定义和硬件原理图确定)而后一次为低电平,则count自增,同时点亮led。再来一次这样的动作,则使led熄灭。依次重复……