實驗3 按鍵輸入實驗

2021-10-23 05:37:08 字數 1410 閱讀 6174

一、原理圖

二、庫函式

(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 當乙個接有下拉電...