一、原理圖
二、庫函式
(1)讀取io的狀態
uint8_t gpio_readinputdatabit(gpio_typedef* gpiox, uint16_t gpio_pin)
引數:gpio_pin--->gpio_pin_x(x = 0~15)
返回值:
讀取到的狀態:0表示按鍵按下;1表示按鍵沒有按下。
三、程式
#ifndef __key_h__
#define __key_h__
#include "stm32f4xx_conf.h"
void key_config(void);
uint16_t key_scan(void);
#endif
#include "./key/key.h"
/*key1--->pf9
key2--->pf8
key3--->pf7
key4--->pe6
*//**********************
功能:配置key
引數:無
返回值:無
***********************/
void key_config(void)
/*********************************
功能:掃瞄按鍵
引數:無
返回值:
1---表示key1按下
2---表示key2按下
3---表示key3按下
4---表示key4按下
0---表示所有key都沒有按下
*********************************/
uint16_t key_scan(void)
if(gpio_readinputdatabit(gpiof,gpio_pin_8) == 0) //key2按下
if(gpio_readinputdatabit(gpiof,gpio_pin_7) == 0) //key3按下
if(gpio_readinputdatabit(gpioe,gpio_pin_6) == 0) //key4按下
return 0;
}#include "delay.h"
#include "./led/led.h"
#include "./beep/beep.h"
#include "./key/key.h"
int main(void)
else
if(num == 2) //key2按下
if(num == 3) //key3按下
if(num == 4) //key4按下}}
按鍵輸入實驗
1.硬體接法 4個按鍵 wk up 控制蜂鳴器,key0 同時控制ds0和ds1 key1 控制ds1 key2控制ds0,wk up 外部上拉,晶元內部需要設定為下拉輸入 key0 key2 外部下拉,晶元內部需要設定為上拉輸入。2.標頭檔案編寫 本次實驗涉及到led 蜂鳴器 按鍵,其中led和蜂...
按鍵實驗 GPIO輸入
1 參考資料 stm32f1開發指南 庫函式版本 第8章 按鍵輸入實驗 stm32中文參考手冊v10 第8章通用和復用功能io gpio和afio 2 硬體連線 key up pa0 key0 pe4 key1 pe3 key2 pe2 3 gpio輸入操作說明 讀取io口輸入電平呼叫庫函式為 ui...
20170725 按鍵輸入實驗
1 概念 將乙個不確定的訊號,通過乙個電阻與電源vcc相連,固定在高電平 2 上拉是對器件注入電流 灌電流 3 當乙個接有上拉電阻的io埠設定為輸入狀態時,它的常態為高電平 1 概念 將乙個不確定的訊號,通過乙個電阻與地gnd相連,固定在低電平 2 下拉是從器件輸出電流 拉電流 3 當乙個接有下拉電...