GPIO输入实验--按键采集
实验要求:
开发板PB9连接"按键"一端,"按键"另一端连接地。当按下"按键"时,蓝色LED灯状态进行翻转,由点亮变熄灭或由熄灭变点亮。
关键程序:
/**
- 功能:初始化按键引脚PB9
- 参数:None
- 返回值:None
*/
void initKey(void) { GPIO_InitTypeDef GPIO_InitStructure; //定义GPIO初始化结构体 RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOB, ENABLE); //使能GPIO时钟 GPIO_InitStructure.GPIO_Pin = GPIO_Pin_9; //设置按键对应引脚 PB9 GPIO_InitStructure.GPIO_Mode = **GPIO_Mode_IPU; //设置上拉输入** GPIO_Init(GPIOB, &GPIO_InitStructure); //设置生效 }
/****main.c************/ #include "LED/LED.h" #include "KEY/KEY.h" #include "DELAY/DELAY.h" #include "stm32f10x.h" int main(void) { initLED(); //初始化LED Delay_init(); //延时初始化 initKey(); //初始化按键引脚 Delay_ms(100); R_LED_OFF; G_LED_OFF; Y_LED_OFF; while (1) { //红绿黄流水灯 R_LED_ON; Delay_ms(200); R_LED_OFF; G_LED_ON; Delay_ms(200); G_LED_OFF; Y_LED_ON; Delay_ms(200); Y_LED_OFF; //当按下按键并且黄色LED灯熄灭时 , 改变蓝色LED状态 if(GPIO_ReadInputDataBit(GPIOB,GPIO_Pin_9)==0) { toggleLED();//改变蓝色LED状态 } } }
评论已关闭