在线观看www成人影院-在线观看www日本免费网站-在线观看www视频-在线观看操-欧美18在线-欧美1级

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

STM32F407入門開發: GPIO口輸入配置

DS小龍哥-嵌入式技術 ? 來源:DS小龍哥-嵌入式技術 ? 作者:DS小龍哥-嵌入式技 ? 2022-05-28 13:52 ? 次閱讀

第一章F407建工程所需依賴文件

image.pngimage.pngimage.pngimage.pngimage.pngimage.png

第二章 新建工程

image.pngimage.pngimage.pngimage.pngimage.pngimage.pngimage.pngimage.pngimage.pngimage.pngimage.png

第三章分析 KEY 按鍵硬件原理圖

image.pngimage.pngimage.png

第四章 編寫 KEY 按鍵驅動代碼

查看數據手冊:

image.pngimage.png

key.c文件代碼如下:


#include "key.h"
/*
函數功能:按鍵初始化配置
硬件連接:
KEY0 --->PE4  按下為低電平
KEY1 --->PE3  按下為低電平
KEY2 --->PE2  按下為低電平
KEY_UP-->PA0  按下為高電平
*/
void KEY_Init(void)
{
	/*1. 開時鐘*/
	RCC->AHB1ENR|=1<<0;//使能PORTA時鐘
	RCC->AHB1ENR|=1<<4;//使能PORTE時鐘

	/*2. 配置GPIO口模式*/
	GPIOE->MODER&=~(0x3<<2*2); //清除模式
	GPIOE->MODER|=0x0<<2*2;    //配置輸入模式

	GPIOE->MODER&=~(0x3<<3*2); //清除模式
	GPIOE->MODER|=0x0<<3*2;    //配置輸入模式

	GPIOE->MODER&=~(0x3<<4*2); //清除模式
	GPIOE->MODER|=0x0<<4*2;    //配置輸入模式

	GPIOA->MODER&=~(0x3<<0*2); //清除模式
	GPIOA->MODER|=0x0<<0*2;    //配置輸入模式
		
	/*3. 配置GPIO口上下拉模式*/
	GPIOE->PUPDR&=~(0x3<<2*2); //清除之前配置
	GPIOE->PUPDR|=0x1<<2*2;    //配置上拉

	GPIOE->PUPDR&=~(0x3<<3*2); //清除之前配置
	GPIOE->PUPDR|=0x1<<3*2;    //配置上拉

	GPIOE->PUPDR&=~(0x3<<4*2); //清除之前配置
	GPIOE->PUPDR|=0x1<<4*2;    //配置上拉

	GPIOA->PUPDR&=~(0x3<<0*2); //清除之前配置
	GPIOA->PUPDR|=0x2<<0*2;    //配置下拉
}


/*
函數功能:掃描按鍵
函數參數:掃描的模式。1表示連續檢測、0只能檢測單個按鍵
返 回 值:按下的按鍵值1、2、3、4
	  返回0表示按鍵沒有按下
*/
u8 ScanKeyVal(u8 mode)
{
	static u8 stat=0; //保存按鍵按下的狀態
	if(mode)stat=0;   //手動清除按鍵按下標志
	if((KEY_UP||KEY0==0||KEY1==0||KEY2==0)&&stat==0)
	{
		stat=1;      //標記按鍵已經按下了
		DelayMs(20); //延時消抖
		if(KEY_UP) return 4;
		if(KEY0==0)return 1;
		if(KEY1==0)return 2;
		if(KEY2==0)return 3;
	}
	else
	{
		 if(KEY_UP==0&&KEY0&&KEY1&&KEY2)stat=0; //清除按鍵按下標志
	}
	return 0;
}
復制代碼

key.h代碼如下

#ifndef _KEY_H
#define _KEY_H
#include "stm32f4xx.h"
#include "delay.h"
void KEY_Init(void);
u8 ScanKeyVal(u8 mode);
#define KEY0  (!!(GPIOE->IDR&1<<4))
#define KEY1  (!!(GPIOE->IDR&1<<3))
#define KEY2  (!!(GPIOE->IDR&1<<2))
#define KEY_UP (!!(GPIOA->IDR&1<<0))
#endif
復制代碼

Main.c代碼如下


#include "stm32f4xx.h" // Device header
#include "led.h"
#include "delay.h"
#include "key.h"

int main(void)
{
	u8 key,i;
	LED_Init();
	KEY_Init();
	while(1)
	{
		 key=ScanKeyVal(0);
		 if(key)
		 {
			i=!i;
			LED0(i);
			LED1(i);
			BEEP(i);
		 }
	}
}
復制代碼

第五章 編譯代碼 配置下載

image.pngimage.pngimage.png

審核編輯:湯梓紅

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • GPIO
    +關注

    關注

    16

    文章

    1279

    瀏覽量

    53701
  • 配置
    +關注

    關注

    1

    文章

    191

    瀏覽量

    18829
  • STM32F407
    +關注

    關注

    15

    文章

    188

    瀏覽量

    30326
收藏 人收藏

    評論

    相關推薦
    熱點推薦

    STM32F407 GPIO輸入配置配置步驟

    介紹STM32F407新建寄存器工程流程,介紹輸入模式的配置方式,以按鍵為例完成按鍵輸入檢測。
    的頭像 發表于 07-06 14:28 ?3300次閱讀
    <b class='flag-5'>STM32F407</b> <b class='flag-5'>GPIO</b><b class='flag-5'>口</b><b class='flag-5'>輸入</b><b class='flag-5'>配置</b><b class='flag-5'>配置</b>步驟

    STM32F407 串口配置步驟

    介紹STM32F407配置步驟,完成串口的數據發送與接收、實現中斷接收,支持printf重定向。
    的頭像 發表于 07-06 14:29 ?4480次閱讀
    <b class='flag-5'>STM32F407</b> 串口<b class='flag-5'>配置</b>步驟

    STM32F407 位帶配置步驟

    介紹STM32F407位帶操作方法,設置寄存器的偏移量,實現按GPIO指定位進行讀寫操作,方便編程。
    的頭像 發表于 07-06 14:30 ?1627次閱讀
    <b class='flag-5'>STM32F407</b> 位帶<b class='flag-5'>配置</b>步驟

    stm32f407通信的代碼

    stm32f407通信的代碼 原理圖還有封裝 很清楚自己畫的
    發表于 03-21 17:22 ?0次下載

    STM32F407 UCOS III實驗

    STM32F407 UCOS III實驗,介紹基于STM32F407的UCOSIII實例,參考下
    發表于 09-22 14:08 ?82次下載

    STM32F407 開發板原理圖

    STM32F407 開發板原理圖
    發表于 09-22 16:12 ?393次下載
    <b class='flag-5'>STM32F407</b> <b class='flag-5'>開發</b>板原理圖

    [STM32]STM32F407系列教程之二,gpio輸入輸出實驗

    [STM32]STM32F407系列教程之二,gpio輸入輸出實驗
    發表于 11-29 14:06 ?19次下載
    [<b class='flag-5'>STM32</b>]<b class='flag-5'>STM32F407</b>系列教程之二,<b class='flag-5'>gpio</b><b class='flag-5'>輸入</b>輸出實驗

    STM32F407的串口UART 基礎配置STM32CubeMX

    STM32F407的串口UART 基礎配置STM32CubeMX
    發表于 11-29 16:06 ?56次下載
    <b class='flag-5'>STM32F407</b>的串口UART 基礎<b class='flag-5'>配置</b><b class='flag-5'>STM32</b>CubeMX

    STM32F407開發板用戶手冊】第14章 STM32F407的電源,復位和時鐘系統

    STM32F407開發板用戶手冊】第14章 STM32F407的電源,復位和時鐘系統
    發表于 12-02 16:21 ?42次下載
    【<b class='flag-5'>STM32F407</b><b class='flag-5'>開發</b>板用戶手冊】第14章 <b class='flag-5'>STM32F407</b>的電源,復位和時鐘系統

    STM32F407開發板用戶手冊】第1章?? 初學STM32F407的準備工作

    STM32F407開發板用戶手冊】第1章?? 初學STM32F407的準備工作
    發表于 12-04 13:36 ?78次下載
    【<b class='flag-5'>STM32F407</b><b class='flag-5'>開發</b>板用戶手冊】第1章?? 初學<b class='flag-5'>STM32F407</b>的準備工作

    STM32F407開發板用戶手冊】第21章 STM32F407的NVIC中斷分組和配置(重要)

    STM32F407開發板用戶手冊】第21章 STM32F407的NVIC中斷分組和配置(重要)
    發表于 12-04 13:51 ?23次下載
    【<b class='flag-5'>STM32F407</b><b class='flag-5'>開發</b>板用戶手冊】第21章 <b class='flag-5'>STM32F407</b>的NVIC中斷分組和<b class='flag-5'>配置</b>(重要)

    STM32F407開發板用戶手冊】第19章 STM32F407GPIO應用之按鍵FIFO

    STM32F407開發板用戶手冊】第19章 STM32F407GPIO應用之按鍵FIFO
    發表于 12-05 15:21 ?39次下載
    【<b class='flag-5'>STM32F407</b><b class='flag-5'>開發</b>板用戶手冊】第19章 <b class='flag-5'>STM32F407</b>的<b class='flag-5'>GPIO</b>應用之按鍵FIFO

    STM32F407入門開發: 位帶操作

    STM32F407的位帶操作可以實現類似51單片機中寄存器的操作方法,操作GPIO代碼簡潔方便。 關于位段的操作在Cortex-M3M4權威指南里有詳細描述:
    的頭像 發表于 05-28 13:50 ?4133次閱讀
    <b class='flag-5'>STM32F407</b><b class='flag-5'>入門開發</b>: 位帶操作

    STM32F407入門開發: 串口配置

    STM32F407 的串口資源非常豐富,功能也很強勁。 STM32F407 最多可提供 6 路串口,有分數波特率發生器、支持同步單線通信和半雙工單線通訊、支持 LIN、 支持調制解調器操作、 智能卡
    的頭像 發表于 05-28 13:51 ?1.1w次閱讀
    <b class='flag-5'>STM32F407</b><b class='flag-5'>入門開發</b>: 串口<b class='flag-5'>配置</b>

    STM32F407入門開發: GPIO輸出配置

    第一章 F407建工程所需依賴文件
    的頭像 發表于 05-28 13:54 ?4926次閱讀
    <b class='flag-5'>STM32F407</b><b class='flag-5'>入門開發</b>: <b class='flag-5'>GPIO</b><b class='flag-5'>口</b>輸出<b class='flag-5'>配置</b>
    主站蜘蛛池模板: 九月丁香婷婷亚洲综合色 | 天天射天天搞 | 黄色毛片基地 | 夜夜操夜夜爱 | 4438x成人网全国最大 | 亚洲一区在线观看视频 | 天天视频免费入口 | 性夜影院爽黄a免费视频 | 深夜视频免费在线观看 | 看黄a大片 免费 | 国产午夜视频在线观看网站 | 欧美一区二区三区在线观看免费 | 免费观看欧美成人1314w色 | 中韩日欧美电影免费看 | 国语一区 | 久久这里只有精品1 | 天天射天天爱天天干 | 久久亚洲精品玖玖玖玖 | 亚洲免费播放 | 国产精品午夜免费观看网站 | 欧美午夜精品久久久久久黑人 | 免费人成网址在线观看国内 | 成人看的一级毛片 | 亚洲成色在线综合网站 | 正在播放国产乱子伦视频 | 奇米社区| 精品在线一区二区 | 国产一区二区三区在线观看视频 | 亚洲国产丝袜精品一区杨幂 | 天天操夜夜拍 | 四虎影院在线免费播放 | 日本黄视频网站 | 日本高清一区二区三区不卡免费 | 中文字幕一区在线观看 | 国产一级毛片国语版 | 久久久久综合 | 天天色图片 | 三级理论手机在线观看视频 | 久热网 | 日日爱网址 | 色网址在线观看 |