stm32 一个按键消抖的代码
时间: 2023-03-26 20:03:59 浏览: 163
你好,以下是一个简单的按键消抖的代码:
```
#include "stm32f10x.h"
#define KEY_GPIO_PORT GPIOA
#define KEY_GPIO_PIN GPIO_Pin_
void Delay(__IO uint32_t nCount);
int main(void)
{
GPIO_InitTypeDef GPIO_InitStructure;
RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA, ENABLE);
GPIO_InitStructure.GPIO_Pin = KEY_GPIO_PIN;
GPIO_InitStructure.GPIO_Mode = GPIO_Mode_IPU;
GPIO_Init(KEY_GPIO_PORT, &GPIO_InitStructure);
while (1)
{
if (GPIO_ReadInputDataBit(KEY_GPIO_PORT, KEY_GPIO_PIN) == RESET)
{
Delay(100); // 延时 100 毫秒
if (GPIO_ReadInputDataBit(KEY_GPIO_PORT, KEY_GPIO_PIN) == RESET)
{
// 按键被按下
}
}
}
}
void Delay(__IO uint32_t nCount)
{
for (; nCount != ; nCount--);
}
```
希望能对你有所帮助。
阅读全文