日韩欧美国产亚洲一区-国产一区二区欧美在线观看-国产日韩欧美高清视频在线-国产亚洲精品aaa在线播放-国产视频在线免费观看-国产欧美日韩综合在线视频-国产高清不卡视频在线播放-91最新视频在线观看-欧美日韩国产在线观看一区二区三区-国产欧美一区二区-亚洲国产综合第一页-超碰动漫-高清中文字幕-精品网站999www-欧美日韩国产在线资源-97资源免费视频总站-国产视频一区二区三区在线观看-久久久久成人网-超爱碰在线资源-99中文字幕一区二区-亚洲国产精品成人午夜在线观看-日韩欧美在线观看一区-91日韩欧美在线-国产v亚洲v日韩v欧美v天堂v-亚洲 免费 高清-国产成人91久久精品-五月天婷婷国产精品-国产99视频在线观看-97午夜视频-五月婷婷激情

【STM32F103】按鍵檢測(GPIO輸入)

按鍵硬件電路:

 

【STM32F103】按鍵檢測(GPIO輸入)

分析電路:按鍵K1按下,接通高電平3.3V,為了保護GPIO,加了限流電阻(R7),沒按下的時候是接地的,上升沿輸入。

 

PA0具有自動喚醒的功能(必須上升沿才能喚醒),電容C6用以硬件消抖(電容不斷充放電),這樣軟件就不用延時來消抖,

 

K2電路同。

 

GPIO輸入:GPIO數據輸入寄存器IDR,只要讀取這個寄存器就可以。

 

bsp_key.c 按鍵初始化:

 

#include “bsp_key.h”

 

 

void KEY_GPIO_Config(void)

{

GPIO_InitTypeDef? GPIO_InitStruct;

RCC_APB2PeriphClockCmd(KEY1_GPIO_CLK, ENABLE);

RCC_APB2PeriphClockCmd(KEY2_GPIO_CLK, ENABLE);

GPIO_InitStruct.GPIO_Pin = KEY1_GPIO_PIN;

GPIO_InitStruct.GPIO_Mode = GPIO_Mode_IN_FLOATING;

GPIO_Init(KEY1_GPIO_PORT, &GPIO_InitStruct);

GPIO_InitStruct.GPIO_Mode = GPIO_Mode_IN_FLOATING;

GPIO_Init(KEY2_GPIO_PORT, &GPIO_InitStruct);

}

 

uint8_t Key_Scan(GPIO_TypeDef *GPIOx,uint16_t GPIO_Pin)

{

if( GPIO_ReadInputDataBit(GPIOx, GPIO_Pin) == KEY_ON )

{

// ?éê??ì2a

while( GPIO_ReadInputDataBit(GPIOx, GPIO_Pin) == KEY_ON );

return KEY_ON;

}

else return KEY_OFF;

}

 

bsp_key.h

 

#ifndef __BSP_KEY_H

#define __BSP_KEY_H

 

#include “stm32f10x.h”

 

#define? KEY_ON? ? ? 1

#define? KEY_OFF? ? ?0

 

#define KEY1_GPIO_PIN? ? ? ? ? ? ? GPIO_Pin_0

#define KEY1_GPIO_PORT? ? ? ? ? ? ?GPIOA

#define KEY1_GPIO_CLK? ? ? ? ? ? ? RCC_APB2Periph_GPIOA

 

#define KEY2_GPIO_PIN? ? ? ? ? ? ? GPIO_Pin_13

#define KEY2_GPIO_PORT? ? ? ? ? ? ?GPIOC

#define KEY2_GPIO_CLK? ? ? ? ? ? ? RCC_APB2Periph_GPIOC

 

void KEY_GPIO_Config(void);

uint8_t Key_Scan(GPIO_TypeDef *GPIOx,uint16_t GPIO_Pin);

 

#endif /* __BSP_KEY_H */

 

main.c

 

#include “stm32f10x.h”? ?//

#include “bsp_led.h”

#include “bsp_key.h”

 

void Delay( uint32_t count )

{

for(; count!=0; count–);

}

 

int main(void)

{

LED_GPIO_Config();

KEY_GPIO_Config();

while(1)

{

if( Key_Scan(KEY1_GPIO_PORT,KEY1_GPIO_PIN) ==KEY_ON )

LED_G(1)

if( Key_Scan(KEY2_GPIO_PORT,KEY2_GPIO_PIN) ==KEY_ON )

LED_G(0)

// if

}

}

 

 

led_bsp.c與led_bsp.h參考上一篇使用庫函數點亮LED。

 

以此我們能夠通過這個程序檢測按鈕是否按下,并將值輸入到對應PORT,保存在GPIO數據輸入寄存器IDR中。

暫無評論,快來搶沙發吧!

發表評論

您的電子郵箱地址不會被公開。 必填項已用 * 標記

主站蜘蛛池模板: 狠狠躁日日躁狂躁夜夜躁av | 有码一区二区三区 | 日精品在线观看 | 日本精品一二区 | 九九在线视频免费观看 | 亚洲天天综合网 | 国产尤物一区二区三区 | 久久综合欧美 | www.黄色小说.com | 色综合天天综合网国产成人网 | 麻花豆传媒mv在线观看 | 亚洲视频 一区 | 91精品在线免费观看视频 | 在线观看的a站 | 正在播放 久久 | 成人黄大片 | 精品爱爱 | 国产一级一片免费播放放a 一区二区三区国产欧美 | 黄色一级大片在线免费看产 | 91人人澡人人爽人人精品 | 综合网色 | 超碰在线观看99 | 亚洲最大av在线播放 | 色综合天天做天天爱 | 欧美日韩国产精品一区二区亚洲 | 久青草视频 | 国语麻豆 | 久久久久久久免费看 | 三级黄色网络 | 欧美日韩在线观看不卡 | 成人 亚洲 欧美 | 欧美午夜精品久久久久久浪潮 | 欧美精品中文 | 亚洲综合婷婷 | 久久99久国产精品黄毛片入口 | 毛片一级免费一级 | 日韩 精品 一区 国产 麻豆 | 99精品视频在线看 | 欧美99热| 色综合久久综合网 | 色综合天天综合网国产成人网 | 日韩四虎| 日韩欧美在线免费 | 成人 国产 在线 | 国产男女爽爽爽免费视频 | avove黑丝 | 国内综合精品午夜久久资源 | 深爱开心激情网 | 免费黄色av电影 | 亚洲伊人天堂 | 亚洲国产精品久久久久久 | 日韩在线观看 | 亚洲精品国产麻豆 | 九九亚洲视频 | 六月激情 | 精品一区二区久久久久久久网站 | 国产日产精品久久久久快鸭 | 手机在线黄色网址 | 亚洲涩涩网站 | 亚洲欧洲日韩 | 欧美精选一区二区三区 | 日韩在线字幕 | 中文字幕中文中文字幕 | 最新国产精品视频 | 91黄色在线视频 | 亚洲第一区在线播放 | 日韩在线观看视频网站 | 亚洲最新在线 | 亚洲成av人影院 | 国产黑丝袜在线 | 夜夜骑日日操 | 国产麻豆电影在线观看 | 亚洲国产97在线精品一区 | 国产资源免费 | 欧美91精品久久久久国产性生爱 | 国产一区在线视频观看 | 国内偷拍精品视频 | 欧美精品乱码99久久影院 | 99免费在线播放99久久免费 | 九九色在线观看 | 黄a在线| 欧美日韩在线播放 | 九九亚洲视频 | 91理论片午午伦夜理片久久 | av久久久 | 国产成人精品久久久 |