国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

STM32:GPIO配置和使用

這篇具有很好參考價值的文章主要介紹了STM32:GPIO配置和使用。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點擊"舉報違法"按鈕提交疑問。

目錄

一、GPIO簡介

1.1 GPIO的輸入輸出模式

1.1.1 輸入模式

1.1.2 輸出模式

二、GPIO的使用

2.1 引腳初始化

2.2 引腳使用


注:型號:STM32F407ZET6

一、GPIO簡介

? ? GPIO:通用輸入輸出接口
?? ?STM32上有A~H共8組,其中A~G7組每組有0~15號共16個引腳,H組有兩個引腳。

1.1 GPIO的輸入輸出模式

1.1.1 輸入模式

?? ? 1. 上拉輸入
?? ? ?? ?上拉電阻:信號線通過電阻連接高電平,信號的初始值是高電平。
? ? ? ??STM32:GPIO配置和使用

?? ? 2. 下拉輸入
?? ? ?? ??? ?下拉電阻:信號線通過電阻連接低電平,信號的初始值為低電平。
? ? ? ? ? ??STM32:GPIO配置和使用

?? ? 3. 浮空輸入
?? ? ?? ?浮空:信號線不連接高低電平,信號電壓不確定。
?? ? 5. 模擬輸入

1.1.2 輸出模式

? ? ?1. 開漏輸出(上拉或下拉)
??? ?2. 復用開漏輸出(上拉或下拉)
??? ?3. 推挽輸出(上拉或下拉)
??? ?4. 復用推挽輸出(上拉或下拉)

二、GPIO的使用

2.1 引腳初始化

?? ?初始化步驟:
?? ??? ? 1. 初始化一個GPIO配置結構體
?? ??? ??? ?頭文件(定義位置):#include "stm32f4xx_gpio.h"

STM32:GPIO配置和使用

?? ? ? ? 2. 使能時鐘總線
? ? ? ?STM32:GPIO配置和使用
?? ??? ??? ?頭文件:#include "stm32f4xx_rcc.h"
?? ??? ??? ?原型:void ?RCC_AHB1PeriphClockCmd(uint32_t RCC_AHB1Periph, FunctionalState NewState);
?? ??? ??? ?參數(shù):
??? ??? ??? ?- RCC_AHB1Periph ? ?外圍設備,可選項在定義的注釋中?
??? ??? ??? ?- NewState ? ? ? ?時鐘新狀態(tài),ENABLE、DISABLE

?? ??? ? 3. 配置這個GPIO配置結構體
?? ??? ??? ? - GPIO_Pin ? ?初始化的引腳號?? ??? ??? ??? ?
?? ??? ??? ? ?? ?可選項:GPIO_Pin_0~GPIO_Pin_15,GPIO_Pin_All
?? ??? ??? ? - GPIO_Mode ? ?輸入輸出模式
?? ??? ??? ??? ? - GPIO_Mode_IN ? ?輸入模式
?? ??? ??? ??? ? - GPIO_Mode_OUT ? ?輸出模式
?? ??? ??? ??? ? - GPIO_Mode_AF ? ?復用模式
?? ??? ??? ??? ? - GPIO_Mode_AN ? ?模擬模式
?? ??? ??? ? - GPIO_Speed ? ?工作速度(速度越快,功耗越高)
?? ??? ??? ??? ? - GPIO_Low_Speed ? ? ? ?低速,2MHz
?? ??? ??? ??? ? - GPIO_Medium_Speed ? ?中速,25MHz
?? ??? ??? ??? ? - GPIO_Fast_Speed ? ? ? ?快速,50MHz
?? ??? ??? ??? ? - GPIO_High_Speed ? ? ? ?高速,100MHz
?? ??? ??? ? - GPIO_OType ? ?輸出模式
?? ??? ??? ??? ?- GPIO_OType_PP ? ?推挽輸出
?? ??? ??? ? ?? ?- GPIO_OType_OD ? ?開漏輸出
?? ??? ??? ? - GPIO_PuPd
?? ??? ??? ? ?? ?- GPIO_PuPd_NOPULL? ? ????浮空
?? ??? ??? ? ?? ?- GPIO_PuPd_UP ? ? ? ?????????上拉
?? ??? ??? ? ?? ?- GPIO_PuPd_DOWN? ? ? ? ? 下拉

?? ??? ? 4. 調(diào)用初始化函數(shù)完場初始化
?? ??? ? ?? ?頭文件:#include "stm32f4xx_gpio.h"
?? ??? ??? ?原型:void GPIO_Init(GPIO_TypeDef* GPIOx, GPIO_InitTypeDef* GPIO_InitStruct);
?? ??? ??? ?參數(shù):
??? ??? ??? ?- GPIOx ? ?引腳所在組,GPIOA~GPIOG
??? ??? ??? ?- GPIO_InitStruct ? ?配置結構體的指針

示例代碼:

//按鍵初始化
void Init_Key(void)
{
    //初始化配置結構體
    GPIO_InitTypeDef Init_Struct_KEY0;
    
    //使能時鐘
    RCC_AHB1PeriphClockCmd(RCC_AHB1Periph_GPIOA,ENABLE);
    
    //結構體配置
    Init_Struct_KEY0.GPIO_Mode = GPIO_Mode_IN;
    Init_Struct_KEY0.GPIO_Pin = GPIO_Pin_0;
    Init_Struct_KEY0.GPIO_PuPd = GPIO_PuPd_UP;
    Init_Struct_KEY0.GPIO_Speed = GPIO_High_Speed;
    
    //調(diào)用函數(shù)完成初始化
    GPIO_Init(GPIOA,&Init_Struct_KEY0);
}

//LED燈初始化
void Tiit_LED(void)
{
    //初始化配置結構體
    GPIO_InitTypeDef Init_Struct_LED0_1;
    
    //使能時鐘
    RCC_AHB1PeriphClockCmd(RCC_AHB1Periph_GPIOF,ENABLE);
    
    //結構體配置
    Init_Struct_LED0_1.GPIO_Mode = GPIO_Mode_OUT;        //輸出模式
    Init_Struct_LED0_1.GPIO_Pin = GPIO_Pin_9;            //9號引腳
    Init_Struct_LED0_1.GPIO_OType = GPIO_OType_PP;        //推挽輸出
    Init_Struct_LED0_1.GPIO_PuPd = GPIO_PuPd_NOPULL;    //浮空
    Init_Struct_LED0_1.GPIO_Speed = GPIO_High_Speed;    //高速
    
    //調(diào)用函數(shù)完成初始化
    GPIO_Init(GPIOF,&Init_Struct_LED0_1);
    
    //關燈
    GPIO_SetBits(GPIOF,GPIO_Pin_9);
}    

2.2 引腳使用

?? ?頭文件:#include "stm32f4xx_gpio.h"
?? ?讀引腳狀態(tài):
?? ??? ?讀一個引腳:uint8_t GPIO_ReadInputDataBit(GPIO_TypeDef* GPIOx, uint16_t GPIO_Pin);
?? ??? ?讀一組引腳:uint16_t GPIO_ReadInputData(GPIO_TypeDef* GPIOx);
?? ?設置引腳狀態(tài):
?? ??? ?置位:void GPIO_SetBits(GPIO_TypeDef* GPIOx, uint16_t GPIO_Pin);
?? ??? ?復位:void GPIO_ResetBits(GPIO_TypeDef* GPIOx, uint16_t GPIO_Pin);文章來源地址http://www.zghlxwxcb.cn/news/detail-482499.html

到了這里,關于STM32:GPIO配置和使用的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。如若轉(zhuǎn)載,請注明出處: 如若內(nèi)容造成侵權/違法違規(guī)/事實不符,請點擊違法舉報進行投訴反饋,一經(jīng)查實,立即刪除!

領支付寶紅包贊助服務器費用

相關文章

  • 【STM32教程】第二章 通用輸入輸出口GPIO

    【STM32教程】第二章 通用輸入輸出口GPIO

    資料下載鏈接: 鏈接:https://pan.baidu.com/s/1hsIibEmsB91xFclJd-YTYA?pwd=jauj? 提取碼:jauj? ? GPIO(General Purpose Input Output)意思是通用輸入輸出口可配置為8種輸入輸出模式,其引腳電平:0V~3.3V,部分引腳可容忍5V(容忍5V的意思是可以在這個端口輸入5V,相當于輸入一個高電平,而輸

    2024年02月09日
    瀏覽(102)
  • STM32——關于GPIO口的輸出方式和輸入方式

    STM32——關于GPIO口的輸出方式和輸入方式

    在STM32中,我們會要使用程序來對I/O口進行控制,當我們使用I/O口時,我們就需要知道在程序中我們需要這個I/O口來實現(xiàn)什么功能,是輸入還是輸出。 ? 1、使用輸出模式 I/O口常用的輸出方式有推挽輸出和開漏輸出。 (1)推挽輸出(GPIO_Mode_Out_PP):可以輸出高、低電平,連接數(shù)

    2024年02月09日
    瀏覽(91)
  • 【STM32零基礎入門教程03】GPIO輸入輸出之GPIO框圖分析

    【STM32零基礎入門教程03】GPIO輸入輸出之GPIO框圖分析

    ? ???????本章節(jié)主要講解點亮LED的基本原理,以及GPIO框圖的講解。 ????????首先我們查看原理圖,觀察電路圖中LED的連接情況,如下圖可以看出我們的板子中LED一端通過限流電阻連接的PB0另一端連接的是高電平VCC,那么我們將PB0位置接地是不是燈就亮了,那我們就想

    2024年02月14日
    瀏覽(103)
  • 一眼就能看懂STM32的外設GPIO(通用輸入輸出)

    GPIO,簡稱通用輸入輸出,關鍵在于他是通用的。任何外設都可以用它,他的主要目的在于控制的IO,輸出或由外部輸入高低電平,與之對應的是AFIO的復用輸入輸出,當用到引腳的第二個功能的時候,就需要啟用它; 你只需要記住他:他是控制引腳(IO口)的輸入輸出功能,高

    2024年02月04日
    瀏覽(96)
  • 嵌入式-Stm32-江科大基于標準庫的GPIO通用輸入輸出口

    嵌入式-Stm32-江科大基于標準庫的GPIO通用輸入輸出口

    (推薦先看文章:《 嵌入式-32單片機-GPIO推挽輸出和開漏輸出》) 下文圖都是從參考手冊借閱:STM32F10xxx(中文),大概頁數(shù)是110/775左右 GPIO (General Purpose Input Output)通用輸入輸出口 可配置為8種輸入輸出模式 引腳電平:0V~3.3V,部分引腳可容忍5V(有FT標識) 輸出模式 下可控

    2024年01月17日
    瀏覽(92)
  • STM32對GPIO進行基礎輸出操作:點亮LED燈并閃爍,跑馬流水燈(標準庫GPIO輸出模式)

    STM32對GPIO進行基礎輸出操作:點亮LED燈并閃爍,跑馬流水燈(標準庫GPIO輸出模式)

    操作STM32的GPIO需要三個步驟 第一步:RCC開啟時鐘 第二步:使用GPIO_Init函數(shù)初始化GPIO 第三步:使用輸出或輸入的函數(shù)控制GPIO口 這三個函數(shù)分別是使能或失能AHB、APB1、APB2外設時鐘控制。 GPIO復位函數(shù) DeInit復位指定的GPIO外設 AFIODeInit函數(shù),可以復位AFIO外設 GPIO_Init函數(shù)是通過結

    2024年02月03日
    瀏覽(16)
  • STM32 寄存器配置筆記——GPIO配置輸出

    STM32 寄存器配置筆記——GPIO配置輸出

    ? ? ? ?本文主要介紹GPIO 作為輸出時的寄存器配置。包括時鐘配置,輸出模式配置。以STM32F10xxx系列為例,配置PA8、PD2端口作為輸出,輸出高/低電平。 ? ? ? ? 1)GPIO外設時鐘 ? ? ? ? ?通過查找STM32F10xxx中文參考手冊得知,GPIO PORT口的時鐘配置在RCC_APB2ENR寄存器的第2~6位,

    2024年01月24日
    瀏覽(44)
  • 從零開始手搓一個STM32與機智云的小項目——GPIO的輸入輸出

    從零開始手搓一個STM32與機智云的小項目——GPIO的輸入輸出

    上一篇中,對整個板子的硬件組成做了一個簡單的介紹,本文開始進入程序編寫的環(huán)節(jié),首先來搞定最簡單的GPIO輸入輸出控制。 GPIO全稱叫做通用輸入輸出接口,它是單片機內(nèi)核、片上外設與外部電路連接的橋梁,是單片機與外界進行數(shù)據(jù)交換的通道。 GPIO的端口號是從PA、

    2024年02月08日
    瀏覽(25)
  • STM32F407 GPIO口輸出配置配置步驟

    STM32F407 GPIO口輸出配置配置步驟

    STM32F407ZGT6 是意法半導體(STMicroelectronics)公司推出的一款高性能ARM Cortex-M4核心的32位微控制器(MCU)。它是 STM32F4 系列的一員,具備強大的處理能力和豐富的外設功能,適用于各種應用領域。 說明:STM32F4 的主頻最高是 168Mhz,所以我們一般設置 PLLCLK 為 168Mhz(M=8,N=336,P=2),通

    2024年02月12日
    瀏覽(27)
  • STM32 F103C8T6學習筆記2:GPIO的認識—GPIO的基本輸入輸出—點亮一個LED

    STM32 F103C8T6學習筆記2:GPIO的認識—GPIO的基本輸入輸出—點亮一個LED

    今日繼續(xù)學習使用? STM32 F103C8T6開發(fā)板 點亮一個LED燈,文章提供源碼,測試工程,實驗效果圖,希望我的歸納總結會對大家有幫助~ 目錄 GPIO的認識與分類 : 引腳安排整理: 定時器的引腳例舉: 串口的引腳例舉: ?CAN串口通信: SPI通信: IIC通信: ?其余引腳: 燒錄引腳:

    2024年02月11日
    瀏覽(19)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領取紅包,優(yōu)惠每天領

二維碼1

領取紅包

二維碼2

領紅包