女人荫蒂被添全过程13种图片,亚洲+欧美+在线,欧洲精品无码一区二区三区 ,在厨房拨开内裤进入毛片

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

STM32的GPIO輸入編程實例之讀取按鍵狀態(tài)

2oON_changxuemc ? 2018-02-10 11:08 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

一、概述

1、按鍵簡介

按鍵是一種機(jī)械器件,按鍵兩端分別對應(yīng)某電路的兩個斷點,我們可以通過按鍵接通和斷開控制該電路的電壓等參數(shù),我們利用按鍵做的應(yīng)用通常有控制繼電器、鍵盤、復(fù)位等。隨著應(yīng)用的擴(kuò)展,按鍵已成為電路板上不可或缺的一部分。

2、按鍵類別簡介

按鍵主要有四種類型:常開帶復(fù)位、常開不帶復(fù)位、常閉帶復(fù)位、常閉不帶復(fù)位。(本次實驗使用的是常開帶復(fù)位按鍵)

按鍵主要有以下4種工作模式:

常開帶復(fù)位:初始默認(rèn)狀態(tài)是開路,當(dāng)受力按下時按鍵使電路連通,受力結(jié)束后其自動返回開路狀態(tài)。 常開帶不復(fù)位:初始默認(rèn)狀態(tài)是開路,每按下一次按鍵改變一次開閉狀態(tài)。 常閉帶復(fù)位:初始默認(rèn)狀態(tài)是連通,當(dāng)受力按下時按鍵使電路開路,受力結(jié)束后其自動返回連通狀態(tài)。 常閉不帶復(fù)位:初始默認(rèn)狀態(tài)是連通,每按下一次按鍵改變一次開閉狀態(tài)。 3、按鍵消抖

使用手動按鍵的時候,由于機(jī)械抖動可能造成按鍵的錯誤識別。一般手動按下按鍵然后釋放,按鍵兩片金屬膜接觸的時間大約為50ms,按鍵松開到穩(wěn)定的時間為5-10ms。因此,如果在首次檢測到按鍵被按下后延時20ms左右再次檢測,即可確認(rèn)是否真的有按鍵被按下,從而消除按鍵抖動造成的錯誤識別。本實驗通過給于一定延時后再進(jìn)行檢測,從而有效的避免了按鍵抖動帶來的誤判。

二、硬件電路

在iCore3雙核心開發(fā)板中,采用一個獨(dú)立的按鍵與STM32F407的PH15相連,限流電阻為1K。

三、實驗原理

按鍵的一端與STM32的GPIO(PH15)相連,另外一端接地,且PH15外接一個1K電流大小的上拉電阻。初始化時把PH15設(shè)置成輸入模式,當(dāng)按鍵彈起時,PH15由于上拉電阻的作用呈高電平(3.3V);當(dāng)按鍵按下時,PH15直接被按鍵短接到GND,呈低電平。因此判斷PH15的電平變化,可得到按鍵狀態(tài)。

四、源代碼

1、主函數(shù)

/*

* Name : main

* Description : ---

* Author : ysloveivy.

*

* History

* --------------------

* Rev : 0.00

* Date : 11/21/2015

*

* create.

* --------------------

*/

int main(void)

{

int i;

static int work_status = 0; //三色LED燈工作狀態(tài)

static int key_status = 1; //按鍵松開標(biāo)置

led.initialize(); //三色LED燈端口初始化

key.initialize();

while(1){

if(KEY_INPUT)key_status = 1;

if(key_status == 1){

if(!KEY_INPUT){

for(i = 0;i < 10000;i++); //按鍵防抖動

if(!KEY_INPUT){

key_status = 0;

work_status += 1;

if(work_status > 2)work_status = 0;

//操作 LED

switch(work_status){

case 0:

LED_RED_ON;

LED_GREEN_OFF;

LED_BLUE_OFF;

break;

case 1:

LED_RED_OFF;

LED_GREEN_ON;

LED_BLUE_OFF;

break;

case 2:

LED_RED_OFF;

LED_GREEN_OFF;

LED_BLUE_ON;

break;

default:

break;

}

}

}

}

}

}

2、GPIO初始化

LED的GPIO初始化配置方式與上一講一致,以下是按鍵的GPIO初始化程序

/*

* Name : initialize

* Description : ---

* Author : ysloveivy.

*

* History

* --------------------

* Rev : 0.00

* Date : 11/21/2015

*

* create.

* --------------------

*/

static int initialize(void)

{

GPIO_InitTypeDef GPIO_uInitStructure;

RCC_AHB1PeriphClockCmd(RCC_AHB1Periph_GPIOH,ENABLE);

//設(shè)置連接按鍵的IO端口

GPIO_uInitStructure.GPIO_Pin = GPIO_Pin_15;

//設(shè)置端口為輸入模式

GPIO_uInitStructure.GPIO_Mode = GPIO_Mode_IN;

//設(shè)置速度為第三級

GPIO_uInitStructure.GPIO_Speed = GPIO_Speed_100MHz;

//設(shè)置輸入端口不變化

GPIO_uInitStructure.GPIO_PuPd = GPIO_PuPd_NOPULL;

//把設(shè)置的參數(shù)用到結(jié)構(gòu)體

GPIO_Init(GPIOH, &GPIO_uInitStructure);

return 0;

}

3、小知識

voidRCC_AHB1PeriphClockCmd

(uint32_tRCC_AHB1Periph,FunctionalStateNewState)

此函數(shù)為外設(shè)使能函數(shù),第一個參數(shù)為需要被使能的外設(shè),第二個參數(shù)為使能與否。可能很多讀者看到這函數(shù)不知道如何入手,不知道參數(shù)填啥子好,別急,咱先查看一下他的定義:

查看定義方法:雙擊函數(shù)名選中,右擊再點GO TODefinition of ...就可以查看咯。

RCC_AHB1PeriphClockCmd函數(shù)定義如下:

void RCC_AHB1PeriphClockCmd(uint32_t RCC_AHB1Periph, FunctionalState NewState)

{

/* Check the parameters */

assert_param(IS_RCC_AHB1_CLOCK_PERIPH(RCC_AHB1Periph));

assert_param(IS_FUNCTIONAL_STATE(NewState));

if (NewState != DISABLE)

{

RCC->AHB1ENR |= RCC_AHB1Periph;

}

else

{

RCC->AHB1ENR &= ~RCC_AHB1Periph;

}

}

注意被我標(biāo)紅的字符串,按照剛剛查定義的方法,它會告訴我們函數(shù)的參數(shù)可以填啥。如查看IS_FUNCTIONAL_STATE:

#define IS_FUNCTIONAL_STATE(STATE)

(((STATE) == DISABLE) || ((STATE) == ENABLE))

我們可以看出第二個參數(shù)可填寫DISABLE(使能)和ENABLE(不使能)。

小結(jié):上面用外設(shè)的使能函數(shù)為大家介紹了查看函數(shù)的方法,此方法在實際應(yīng)用經(jīng)常可以用到,當(dāng)我們在閱讀、修改程序的時候,遇到哪些不太清楚的函數(shù),就可以用這種方法查看。

五、實驗現(xiàn)象

按鍵每按下一次,ARM·LED顏色變換(紅色、綠色、藍(lán)色輪流交換)一次。

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • STM32
    +關(guān)注

    關(guān)注

    2291

    文章

    11026

    瀏覽量

    363716
  • GPIO
    +關(guān)注

    關(guān)注

    16

    文章

    1279

    瀏覽量

    53863

原文標(biāo)題:STM32學(xué)習(xí)2:GPIO輸入實驗——讀取按鍵狀態(tài)

文章出處:【微信號:changxuemcu,微信公眾號:暢學(xué)單片機(jī)】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。

收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評論

    相關(guān)推薦
    熱點推薦

    i.MX6ULL 驅(qū)動開發(fā)7—按鍵輸入捕獲與GPIO輸入配置與高低電平讀取

    本篇主要介紹了i.MX6ULL的按鍵檢測的使用,主要的知識點是設(shè)備樹的修改,以及GPIO輸入配置與高低電平的讀取
    的頭像 發(fā)表于 05-24 09:11 ?6862次閱讀
    i.MX6ULL 驅(qū)動開發(fā)7—<b class='flag-5'>按鍵</b><b class='flag-5'>輸入</b>捕獲與<b class='flag-5'>GPIO</b><b class='flag-5'>輸入</b>配置與高低電平<b class='flag-5'>讀取</b>

    【HAL庫每天一例】第004例:GPIO-按鍵狀態(tài)判斷掃描式

    GPIO輸出高低電平實現(xiàn)LED燈亮滅,現(xiàn)在是時鐘GPIO輸入模式,按鍵按下時會改變GPIO的電平,對應(yīng)的
    發(fā)表于 05-09 10:06

    講講關(guān)于GPIO按鍵輸入的關(guān)鍵要點

    上次我們講解了操作STM32GPIO-輸出的3種方法和關(guān)鍵代碼,這節(jié)我們講關(guān)于GPIO按鍵輸入的關(guān)鍵要點,分為
    發(fā)表于 12-09 06:33

    arm7單片機(jī)編程實例,ARM7輸入/輸出端口GPIO編程教程

    ARM7輸入/輸出端口GPIO編程教程
    發(fā)表于 04-19 14:43 ?2883次閱讀
    arm7單片機(jī)<b class='flag-5'>編程</b><b class='flag-5'>實例</b>,ARM7<b class='flag-5'>之</b><b class='flag-5'>輸入</b>/輸出端口<b class='flag-5'>GPIO</b><b class='flag-5'>編程</b>教程

    GPIO輸入--按鍵

    程序簡介 -工程名稱:GPIO輸入--按鍵 -實驗平臺: 秉火STM32 F429 開發(fā)板 -MDK版本:5.16 -ST固件庫版本:1.5.1 【 !】功能簡介: 使用兩個
    發(fā)表于 12-12 19:08 ?3次下載

    STM32--固件庫使用--按鍵輸入

    STM32–固件庫使用–按鍵輸入簡介1.硬件STM32F103C8T6 獨(dú)立按鍵2.軟件keil軟件硬件部分軟件部分key.c#includ
    發(fā)表于 11-21 17:51 ?15次下載
    <b class='flag-5'>STM32</b>--固件庫使用--<b class='flag-5'>按鍵</b><b class='flag-5'>輸入</b>

    STM32F103-入門基礎(chǔ)實驗-GPIO輸入-按鍵(查詢/中斷)控制LED核心代碼(固件庫版)

    上次我們講解了操作STM32GPIO-輸出的3種方法和關(guān)鍵代碼,這節(jié)我們講關(guān)于GPIO按鍵輸入的關(guān)鍵要點,分為
    發(fā)表于 11-26 13:21 ?0次下載
    <b class='flag-5'>STM32</b>F103-入門基礎(chǔ)實驗-<b class='flag-5'>GPIO</b><b class='flag-5'>輸入</b>-<b class='flag-5'>按鍵</b>(查詢/中斷)控制LED核心代碼(固件庫版)

    2、【STM32F0系列學(xué)習(xí)】—通用輸入輸出端口(GPIO)

    STM32F0系列學(xué)習(xí)】—通用輸入輸出端口GPIO1、GPIO端口配置說明1、GPIO端口配
    發(fā)表于 11-29 16:51 ?66次下載
    2、【<b class='flag-5'>STM32</b>F0系列學(xué)習(xí)】<b class='flag-5'>之</b>—通用<b class='flag-5'>輸入</b>輸出端口(<b class='flag-5'>GPIO</b>)

    STM32學(xué)習(xí)筆記1——軟硬件基礎(chǔ)keil5編程GPIO開發(fā)

    STM32學(xué)習(xí)筆記1——軟硬件基礎(chǔ)keil5編程GPIO開發(fā)
    發(fā)表于 11-30 12:36 ?4次下載
    <b class='flag-5'>STM32</b>學(xué)習(xí)筆記1——軟硬件基礎(chǔ)<b class='flag-5'>之</b>keil5<b class='flag-5'>編程</b>與<b class='flag-5'>GPIO</b>開發(fā)

    Linux應(yīng)用開發(fā)【第九章】GPIO編程應(yīng)用開發(fā)

    設(shè)置GPIO方向 9.4.3 GPIO輸出實驗-LED輸出控制 9.4.4 GPIO輸入試驗-按鍵
    的頭像 發(fā)表于 12-10 19:21 ?1031次閱讀
    Linux應(yīng)用開發(fā)【第九章】<b class='flag-5'>GPIO</b><b class='flag-5'>編程</b>應(yīng)用開發(fā)

    STM32 按鍵輸入實驗

    加粗樣式一.實驗?zāi)康?.熟悉使用STM32F4XX開發(fā)板2.掌握其GPIO的使用方法3.掌握按鍵的實現(xiàn)方法二.實現(xiàn)步驟(1)使能按鍵對應(yīng)IO口時鐘。調(diào)用函數(shù)
    發(fā)表于 12-27 18:53 ?4次下載
    <b class='flag-5'>STM32</b> <b class='flag-5'>按鍵</b><b class='flag-5'>輸入</b>實驗

    STM32基本GPIO操作:按鍵輸入(掃描+外部中斷)

    STM32基本GPIO操作:按鍵輸入(掃描+外部中斷)本文章向大家介紹STM32基本GPIO操作
    發(fā)表于 12-29 19:27 ?13次下載
    <b class='flag-5'>STM32</b>基本<b class='flag-5'>GPIO</b>操作:<b class='flag-5'>按鍵</b><b class='flag-5'>輸入</b>(掃描+外部中斷)

    STM32筆記按鍵KEY輸入

    關(guān)于STM32學(xué)習(xí)分享第二章 按鍵輸入控制文章目錄前言二、代碼1.key.c2.key.h3.main.c總結(jié)前言開始!開始!單片機(jī)的按鍵配置為輸入
    發(fā)表于 12-31 19:49 ?7次下載
    <b class='flag-5'>STM32</b>筆記<b class='flag-5'>之</b><b class='flag-5'>按鍵</b>KEY<b class='flag-5'>輸入</b>

    GPIO讀取按鈕狀態(tài)

    樹莓派的GPIO可以控制發(fā)光二極管,這是GPIO的Output(輸出)能力,它也具有input(讀取)的能力,所以才能叫做I/O(輸入/輸出)端口。今天我們就來用
    的頭像 發(fā)表于 07-02 15:06 ?2239次閱讀
    用<b class='flag-5'>GPIO</b><b class='flag-5'>讀取</b>按鈕<b class='flag-5'>狀態(tài)</b>

    stm32怎么讀取io口輸入電平

    讀取STM32的IO口輸入電平,你可以使用GPIO外設(shè)來完成。GPIO是通用輸入輸出端口,它可
    的頭像 發(fā)表于 01-05 11:46 ?6094次閱讀
    主站蜘蛛池模板: 昌邑市| 阿拉善盟| 沙坪坝区| 西畴县| 耒阳市| 清水河县| 杭锦后旗| 化隆| 岳阳市| 新竹县| 津南区| 启东市| 临朐县| 华蓥市| 西昌市| 赤壁市| 英德市| 竹山县| 莱西市| 呼伦贝尔市| 湾仔区| 满城县| 西宁市| 敦煌市| 囊谦县| 开平市| 宁阳县| 蓬安县| 五华县| 大连市| 泊头市| 新晃| 汶川县| 荥阳市| 乌拉特中旗| 星子县| 蛟河市| 高台县| 慈利县| 景谷| 丹棱县|