日韩欧美国产亚洲一区-国产一区二区欧美在线观看-国产日韩欧美高清视频在线-国产亚洲精品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中。

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

發表評論

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

主站蜘蛛池模板: 91精品视频播放 | 国产日产亚洲精华av | 精品嫩模福利一区二区蜜臀 | 婷婷亚洲激情 | 精品国产一区二区三区免费 | 三级黄色片在线观看 | 欧美日韩亚洲在线观看 | 福利网址在线观看 | 亚洲激情一区二区三区 | 免费69视频 | 麻豆久久 | 国内精品久久久久久久影视简单 | 啪啪精品 | 久久黄色网页 | 精品一区二区三区四区在线 | 99精品免费久久久久久日本 | 日韩精品中文字幕在线观看 | 97在线视频免费观看 | 国产一区二区三区免费在线观看 | 激情综合色图 | 欧美精品久久久久久久久久白贞 | 久久精品久久久久电影 | 在线观看av黄色 | 免费视频你懂得 | 亚洲全部视频 | 亚洲精品免费播放 | 中国一级片在线 | 在线播放 日韩专区 | 成人免费观看网站 | 欧美久久久久久久久久久 | 视频国产一区二区三区 | 精品1区2区3区 | 国产高清免费在线播放 | 丁香婷婷综合激情 | 欧美贵妇性狂欢 | 亚洲电影自拍 | 亚洲视频久久久 | 成人黄色在线 | 黄色软件网站在线观看 | 亚洲黄色免费 | 最近中文字幕国语免费高清6 | 中文字幕在线观看av | 在线之家免费在线观看电影 | 操操操日日日干干干 | 在线观看国产一区二区 | 五月天激情综合 | 欧美日韩免费观看一区二区三区 | 国产白浆在线观看 | 免费一级特黄录像 | 亚洲精品字幕 | 91精品国自产在线 | 国产免费中文字幕 | 欧美伦理电影一区二区 | 久草.com| 激情综合网色播五月 | 国产特级毛片aaaaaaa高清 | 色狠狠狠 | 国产精品美女999 | 成人午夜黄色影院 | 久久久免费少妇 | 久久精品一区二区三区国产主播 | 中文字幕一区二区三区在线视频 | 欧美少妇xxx | 91视频最新网址 | 久草视频在线观 | 成 人 黄 色视频免费播放 | 久久黄色网址 | 91完整版观看 | 成人免费xxxxxx视频 | 欧美大jb | 国产一区二区三区免费在线 | 亚洲国产成人精品在线观看 | 一区二区三区免费在线观看视频 | 国产系列在线观看 | 国内丰满少妇猛烈精品播 | 欧美一区二区伦理片 | 亚洲国产伊人 | 亚洲少妇自拍 | 久久久精品网站 | 玖玖在线免费视频 | x99av成人免费 | 国产精品国产毛片 | 国产成人精品999 | 蜜臀aⅴ精品一区二区三区 久久视屏网 | 中文字幕免费播放 | 天天色天天操综合网 |