在线观看国产精品av-久久中文字幕人妻丝袜-国产偷窥熟女精品视频大全-日日碰狠狠添天天爽-中国女人做爰视频

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

發(fā)布時(shí)間:2019年4月9日

按鍵硬件電路:

 

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

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

 

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

 

K2電路同。

 

GPIO輸入:GPIO數(shù)據(jù)輸入寄存器IDR,只要讀取這個(gè)寄存器就可以。

 

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參考上一篇使用庫函數(shù)點(diǎn)亮LED。

 

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

主站蜘蛛池模板: 国产人妇三级视频在线观看| 成人区人妻精品一区二区三区| 人妻无码全彩里番acg视频| 国产成人综合久久三区| 少妇无码av无码专区线y| 狠狠躁夜夜躁人人爽天天bl| 色777| 亚洲精品久久国产高清| 亚洲人成国产精品无码果冻| 国产精品天干天干| 亚洲日韩亚洲另类| 国内精品久久久久久中文字幕| 亚洲中文字幕aⅴ无码天堂| 国产熟妇按摩3p高潮大叫| 亚洲日韩精品a∨片无码| 雯雯在工地被灌满精在线视频播放 | 玩成熟老熟女视频| 男女啪啦啦超猛烈动态图| 久久国产福利播放| 白嫩日本少妇做爰| 大肉大捧一进一出好爽视色大师 | 国产嫖妓风韵犹存对白| 亚洲另类在线制服丝袜国产| 亚洲中文字幕无码中文字在线| 大桥未久亚洲无av码在线| 欧美 日韩 亚洲 在线| 噜妇插内射精品| 亚欧洲精品在线视频免费观看 | 揉捏奶头高潮呻吟视频| 粉嫩小泬视频无码视频软件 | 波多野结衣爽到高潮大喷| 亚洲另类丝袜综合网| 亚洲最大综合久久网成人| 香蕉人人超人人超碰超国产 | 国产精品爆乳奶水无码视频免费| 精品人妻无码专区在线无广告视频| 人妻巨大乳hd免费看| 久久久久青草线蕉亚洲| 十八禁无遮挡99精品国产| 精品少妇人妻av免费久久洗澡| 亚洲中文字幕无码久久|