国产精品久久久久影院,成人午夜福利视频,国产精品久久久久高潮,国产精品 欧美 亚洲 制服,国产精品白浆无码流出

歷史上的今天

今天是:2025年07月21日(星期一)

2018年07月21日 | STM32_GPIO之按鍵輸入

發(fā)布者:心靈清澈 來源: eefocus關(guān)鍵字:STM32  GPIO  按鍵輸入 手機看文章 掃描二維碼
隨時隨地手機看文章

/* 

名稱:STM32_GPIO之按鍵輸入 

說明:這個實驗是GPIO的輸入功能?;镜乃悸泛?a href="http://www.womende.cn/zhuanti/Pu98e9" style="color:#4595e6;" target="_blank">51單片機差不多。也是 

操作相應的IO口,不過不同的是對于獨立按鍵輸入實驗來說,51單片機是 

需要一開始把待檢測的IO口設置成高電平,然后檢測其何時被拉低。而對 

于STM32來說,其GPIO端口就可以設置成上拉輸入,即不需要再人為的把對 

應的對應的IO口設置成高電平,硬件電路會自動把對應端口引腳拉成高電 

平。


還有一點關(guān)于條件編譯要說的:這個ifndef… #endif 一般用在頭文件中。書上說為了防止重復編譯。就我目前了解的來看,在實際應用中,如果在兩個.c源文件中都include了一個頭文件,那么好像加不加這個條件編譯都沒什么影響(如果沒有定義什么特殊的東西的話)。 但是,最好不要在頭文件中定義變量(如int i);因為這樣的話,如果兩個.c源文件的都include了這個頭文件,那么就會在鏈接時(注意是鏈接不是編譯時)發(fā)生重復定義的錯誤。(好像是因為聲明可以多次,但定義只能一次。)所以通常的做法是在.c源文件中定義變量,然后在對應的頭文件中利用外部聲明(即類似于extern int i;) 進行使用。


*/


#include "key.h"


//KEY端口配置

void KEY_GPIO_Config(void)

{

    GPIO_InitTypeDef GPIO_InitStructure;


    RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA,ENABLE);


    GPIO_InitStructure.GPIO_Pin = ALLKEY;

    GPIO_InitStructure.GPIO_Mode = GPIO_Mode_IPU;

    GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;


    GPIO_Init(KEY_PORT, &GPIO_InitStructure);



}



//聲明延時函數(shù)

void delay_ms(u16 time);


//檢查獨立按鍵

int CheakKey()

{

    uint16_t key = 1;

    int i = 0;

    for(i = 1;i <= 8;++i)

    {


        //軟件消抖

        if(GPIO_ReadInputDataBit(KEY_PORT,key) == Bit_RESET)

        {

            delay_ms(10);

            if(GPIO_ReadInputDataBit(KEY_PORT,key) == Bit_RESET)

                return i;

        }


        key = key<<1;       //左移一位

    }


    //if( i > 8)

        return -1;

}


關(guān)鍵字:STM32  GPIO  按鍵輸入 引用地址:STM32_GPIO之按鍵輸入

上一篇:STM32之SPI串行線與HC595使用
下一篇:STM32_GPIO之點亮LED實驗

推薦閱讀

***************************************************************************************************************************************開發(fā)板 :奮斗STM32CPU :STM32F103開發(fā)環(huán)境:keil uVsion4*****************************************************************************************************************************...
節(jié)卡機器人億元B輪融資刷新國內(nèi)協(xié)作機器人領(lǐng)域最高單筆融資,樹根互聯(lián)5億B輪融資創(chuàng)下中國工業(yè)互聯(lián)網(wǎng)平臺融資金額的全新紀錄,曠視科技7.5億美元D輪融資成今年融資大戶。今年上半年,工業(yè)機器人融資依然熱鬧。 據(jù)不完全統(tǒng)計,2019年上半年,工業(yè)機器人領(lǐng)域累計融資案例達43起,AGV、、工業(yè)互聯(lián)網(wǎng)這三個細分領(lǐng)獲得融資的企業(yè)最多,融資案例分別為11起、1...
UE Electronic 150W醫(yī)療電源UES150-SPAZ隨著工業(yè)技術(shù)水平的不斷提升,本只在醫(yī)院中運行的醫(yī)療設備,尤其是保健類設備愈來愈普及化,慢慢地融入了我們的日常生活。醫(yī)療設備運行通暢離不開專業(yè)的醫(yī)療電源, UE Electronic作為一家成立了31年的醫(yī)療電源專業(yè)生產(chǎn)企業(yè),一直緊跟醫(yī)療設備行業(yè)的發(fā)展步伐,精益求精,穩(wěn)抓品質(zhì),今天介紹的150W UES150-SPAZ系...
寫在前面:以下涉及到的程序及電路圖不保證是最優(yōu)方案,會存在很多不足之處,望諒解。正文學習目標:使用51單片機實現(xiàn)LED流水燈功能。學習內(nèi)容:LED燈的點亮LED燈的閃爍LED流水燈程序一:LED燈的點亮功能要求:實現(xiàn)上電后LED燈的常亮源程序#include "reg52.h"sbit led = P2^0; //定義LED端口/************主函數(shù)************/void main(){ while(1...

史海拾趣

小廣播
設計資源 培訓 開發(fā)板 精華推薦

最新單片機文章

 
EEWorld訂閱號

 
EEWorld服務號

 
汽車開發(fā)圈

 
機器人開發(fā)圈

電子工程世界版權(quán)所有 京ICP證060456號 京ICP備10001474號-1 電信業(yè)務審批[2006]字第258號函 京公網(wǎng)安備 11010802033920號 Copyright ? 2005-2025 EEWORLD.com.cn, Inc. All rights reserved