STM32按键控制LED亮灭的代码

2023-02-15,,,,

led.c

#include "led.h"

void LED_Config(void)
{
GPIO_InitTypeDef GPIO_InitStruct; RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOB, ENABLE); GPIO_InitStruct.GPIO_Mode=GPIO_Mode_Out_PP;
GPIO_InitStruct.GPIO_Pin=GPIO_Pin_0;
GPIO_InitStruct.GPIO_Speed=GPIO_Speed_50MHz;
GPIO_Init(GPIOB, &GPIO_InitStruct);
} void LED_Toggle(void)
{
GPIOB->ODR ^= GPIO_Pin_0;
}

led.h

#ifndef __LED_H
#define __LED_H #include "stm32f10x.h" void LED_Config(void);
void LED_Toggle(void); #endif

key.c

#include "key.h"
#include "led.h" void KEY_Config(void)
{
GPIO_InitTypeDef GPIO_InitStruct;
RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA, ENABLE); GPIO_InitStruct.GPIO_Mode=GPIO_Mode_IN_FLOATING;
GPIO_InitStruct.GPIO_Pin=GPIO_Pin_0;
GPIO_Init(GPIOA, &GPIO_InitStruct);
} uint8_t KEY_Scan(void)
{
if(GPIO_ReadInputDataBit(GPIOA, GPIO_Pin_0))
{
while(GPIO_ReadInputDataBit(GPIOA, GPIO_Pin_0));
return 1;
}
else return 0;
}

key.h

#ifndef __KEY_H
#define __KEY_H #include "stm32f10x.h" void KEY_Config(void);
uint8_t KEY_Scan(void); #endif

main.c

#include "stm32f10x.h"
#include "led.h"
#include "key.h" int main(void)
{
LED_Config();
KEY_Config();
while(1)
{
if(KEY_Scan()) LED_Toggle();
}
}

STM32按键控制LED亮灭的代码的相关教程结束。

《STM32按键控制LED亮灭的代码.doc》

下载本文的Word格式文档,以方便收藏与打印。