娇小w搡bbbb搡bbb,《第一次の人妻》,中国成熟妇女毛茸茸,边啃奶头边躁狠狠躁视频免费观看

歷史上的今天

今天是:2025年05月13日(星期二)

正在發生

2019年05月13日 | STM32F4之按鍵(二)

發布者:數字行者 來源: eefocus關鍵字:STM32F4  按鍵  寄存器模式 手機看文章 掃描二維碼
隨時隨地手機看文章

STM32寄存器模式實現按鍵控制LED燈的狀態

使用正點原子的開源代碼,保證了程序的簡潔性和可讀性。

key.h文件:


#ifndef __KEY__HH__

#define __KEY__HH__


#include "sys.h"

//KEY端口初始化

#define KEY0 PHin(3)

#define KEY1 PHin(2)

#define KEY2 PCin(13)

#define WK_UP PAin(0)


//聲明動作宏

#define KEY0_PRES 1 //KEY0按下

#define KEY1_PRES 2 //KEY1按下

#define KEY2_PRES 3 //KEY2按下

#define WKUP_PRES 4 //KEY_UP按下



//函數聲明

void KEY_Init(void);

u8 KEY_Scan(u8);

#endif


key.c文件:


#include "key.h"

#include "delay.h"


void KEY_Init(void)

{

//使能時鐘 PORTA、PORTC、 PORTH

RCC -> AHB1ENR |= 1 << 0; //A是首位

RCC -> AHB1ENR |= 1 << 2; //C是三位

RCC -> AHB1ENR |= 1 << 7;

//設置GPIOx模式 GPIOA、GPIOC、GPIOH

GPIO_Set(GPIOA, PIN0, GPIO_MODE_IN, GPIO_OTYPE_PP, GPIO_SPEED_2M, GPIO_PUPD_PD);

GPIO_Set(GPIOC, PIN13, GPIO_MODE_IN, GPIO_OTYPE_PP, GPIO_SPEED_2M, GPIO_PUPD_PU);

GPIO_Set(GPIOH, PIN2|PIN3, GPIO_MODE_IN, GPIO_OTYPE_PP, GPIO_SPEED_2M, GPIO_PUPD_PU);


}


//按鍵掃描函數

u8 KEY_Scan(u8 mode)

{

//定義按鍵松開標志

static u8 key_up = 1;

//連按模式支持

if(mode)

{

key_up = 1;

}

if(key_up && (0 == KEY0 | 0 == KEY1 | 0 == KEY2 | 1 == WK_UP))

{

//去抖動

delay_ms(10);

key_up = 0;

if(0 == KEY0)

{

return 1;

}

else if(0 == KEY1)

{

return 2;

}

else if(0 == KEY2)

{

return 3;

}

else if(1 == WK_UP)

{

return 4;

}

}

else if(1 == KEY0 | 1 == KEY1 | 1 == KEY2 | 0 == WK_UP)

{

key_up = 1;

}

return 0;

}



main.c文件:


#include "sys.h"

#include "delay.h"

#include "key.h"

#include "led.h"


int main(void)

{

//定義鍵值變量

u8 key;

//設置時鐘

Stm32_Clock_Init(360, 25, 2, 8);

//初始化延時函數

delay_init(180);

//初始化LED

LED_Init();

//初始化KEY

KEY_Init();

//點亮LED0

LED0 = 0;

while(1)

{

//得到鍵值

key = KEY_Scan(0);

if(key)

{

switch (key)

{

case WKUP_PRES:

LED1 = !LED1;

LED0 = !LED1;

break;

case KEY2_PRES:

LED1 = !LED1;

break;

case KEY1_PRES:

LED0 = !LED0;

break;

case KEY0_PRES:

LED1 = !LED1;

LED0 = !LED0;

break;

}

}

else

{

delay_init(10);

}

}

}



關鍵字:STM32F4  按鍵  寄存器模式 引用地址:STM32F4之按鍵(二)

上一篇:STM32F4之LED(一)
下一篇:STM32F4之串口(三)

推薦閱讀

一、功能及目的 在每個STM32的芯片上都有兩個管腳BOOT0和BOOT1,這兩個管腳在芯片復位時的電平狀態決定了芯片復位后從哪個區域開始執行程序。BOOT1=x BOOT0=0 // 從用戶閃存啟動,這是正常的工作模式。BOOT1=0 BOOT0=1 // 從系統存儲器啟動,這種模式啟動的程序功能由廠家設置。BOOT...
一個理想化的機器人不僅需要靈活的頭腦,還需要發達的四肢。所以,如何為機器人打造一雙 “腳” 也是不可忽視的部分。目前,在國內市場上,最高頻的機器人 “腳” 應用是自主定位導航。其實,底盤才是機器人進行移動的基礎模塊,該市場蘊藏著大量的潛在機會。在這樣的背景下,松靈機器人誕生了,其自主研發了為行業應用設計的戶外通用底盤—SCOUT。實...
2020年以來國內的新基建項目迅猛增加,許多芯片廠商都在大力推動5G基站芯片、毫米波芯片進入市場,同時也帶動了封裝技術的快速發展。由于毫米波段的元器件間具有強烈的電磁干擾,系統級封裝(SiP)技術作為目前火熱的封裝技術可屏蔽大量干擾,同時幫助避免開發大型SoC的時間和試錯成本,因此具有很大的商業和技術價值。隨著半導體技術摩爾定律的演進,電子...
前言同步整流(SR)控制器能夠提高電源的轉換效率。本文將一起探討它們的優勢以及它們如何使電源開發人員的工作更輕松。憑借出色的性能,寬帶隙(WBG)功率半導體-比如碳化硅(SiC)或氮化鎵(GaN)-正在取代以往占主導地位的硅解決方案,這標志著市場的轉折。許多應用場景,比如手機充電器,尤其得益于GaN技術的快速發展。GaN晶體管不僅提供了比硅晶體管...

史海拾趣

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

最新單片機文章
何立民專欄 單片機及嵌入式寶典

北京航空航天大學教授,20余年來致力于單片機與嵌入式系統推廣工作。

 
EEWorld訂閱號

 
EEWorld服務號

 
汽車開發圈

 
機器人開發圈

電子工程世界版權所有 京ICP證060456號 京ICP備10001474號-1 電信業務審批[2006]字第258號函 京公網安備 11010802033920號 Copyright ? 2005-2025 EEWORLD.com.cn, Inc. All rights reserved
主站蜘蛛池模板: 抚远县| 若尔盖县| 神农架林区| 清水河县| 崇义县| 运城市| 鹿邑县| 宁都县| 衡水市| 家居| 盐津县| 句容市| 宜宾市| 南陵县| 洛川县| 扬中市| 乳山市| 曲水县| 南充市| 晋州市| 洛宁县| 遵化市| 南宫市| 察雅县| 长葛市| 辽阳市| 深圳市| 绥江县| 临海市| 门源| 济阳县| 新民市| 嘉祥县| 合肥市| 昭苏县| 吉木乃县| 辽阳县| 巨野县| 卓尼县| 武威市| 湛江市|