|
#include "stm32f10x.h"
#include "Delay.h"
void Delay (uint32_t nCount)
{
for(;nCount!=0;nCount--);
}
GPIO_InitTypeDef GPIO_InitStructure;
int main(void)
{
u8 ReadValue;
char a=0;
RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOC, ENABLE); //初始化GPIOF時鐘
GPIO_InitStructure.GPIO_Pin = GPIO_Pin_6 | GPIO_Pin_7|GPIO_Pin_8|GPIO_Pin_9;
GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;
GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP;
GPIO_Init(GPIOC, &GPIO_InitStructure);
//GPIO_ResetBits(GPIOC,GPIO_Pin_6 | GPIO_Pin_7|GPIO_Pin_8|GPIO_Pin_9); //將GPIOF.6~9復位,關掉LED燈
RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOB, ENABLE); //初始化GPIOB時鐘
GPIO_InitStructure.GPIO_Pin = GPIO_Pin_10;
GPIO_InitStructure.GPIO_Mode = GPIO_Mode_IPU;
GPIO_Init(GPIOB, &GPIO_InitStructure);
while (1)
{
//GPIO_ReadInputDataBit(GPIOB,GPIO_Pin_10);
if(!GPIO_ReadInputDataBit(GPIOB,GPIO_Pin_10)) //發現按鍵KEY4被按下
{
Delay(0xfffff); //延時消斗
if(!GPIO_ReadInputDataBit(GPIOB,GPIO_Pin_10))//再次檢測按鍵是否仍然被按下
{
while(!GPIO_ReadInputDataBit(GPIOB,GPIO_Pin_10));//等待按鍵被放開
a^=0x01;
if(a==0)
GPIO_WriteBit(GPIOC, GPIO_Pin_6, Bit_RESET);
//GPIO_ResetBits(GPIOF,GPIO_Pin_6 | GPIO_Pin_7|GPIO_Pin_8|GPIO_Pin_9);
else if(a==1)
GPIO_WriteBit(GPIOC, GPIO_Pin_6, Bit_SET);
//GPIO_SetBits(GPIOF,GPIO_Pin_6 | GPIO_Pin_7|GPIO_Pin_8|GPIO_Pin_9);
}
}
}
}
|
-
-
按鍵控制LED亮滅.7z
2022-9-4 15:57 上傳
點擊文件名下載附件
276.78 KB, 下載次數: 7
按鍵控制LED亮滅不行
|