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

STM32 | GPIO口的普通與復用如何配置與用法,本文降從最底層教你如何查看手冊運用寄存器來實現GPIO口的配置

這篇具有很好參考價值的文章主要介紹了STM32 | GPIO口的普通與復用如何配置與用法,本文降從最底層教你如何查看手冊運用寄存器來實現GPIO口的配置。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點擊"舉報違法"按鈕提交疑問。

??【藍橋杯嵌入式】專題正在持續(xù)更新中,原理圖解析?,各模塊分析?以及歷年真題講解?都在這兒哦,歡迎大家前往訂閱本專題,獲取更多詳細信息哦??????

??本系列專欄 -??藍橋杯嵌入式_勾欄聽曲_0的博客

??歡迎大家? ??? 點贊??? 評論??? 收藏??

??個人主頁 -?勾欄聽曲_0的博客??

??希望本文能對你有所幫助,如有不足請指正,共同進步吧??

??安能以身之察察,受物之汶汶者乎?安能以皓皓之白,而蒙世俗之塵埃乎???


GPIO

查看原理圖

芯片電路原理圖

芯片數據手冊

找到引腳定義,理解引腳功能

找到功能對應的Port

微控制器參考手冊

?總結


GPIO

GPIO(英語:General-purpose input/output),通用型之輸入輸出的簡稱,功能類似8051的P0—P3,其接腳可以供使用者由程控自由使用,PIN腳依現實考量可作為通用輸入(GPI)或通用輸出(GPO)或通用輸入與輸出(GPIO),如當clk generator, chip select等。

既然一個引腳可以用于輸入、輸出或其他特殊功能,那么一定有寄存器用來選擇這些功能。對于輸入,一定可以通過讀取某個寄存器來確定引腳電位的高低;對于輸出,一定可以通過寫入某個寄存器來讓這個引腳輸出高電位或者低電位;對于其他特殊功能,則有另外的寄存器來控制它們。

本次舉例的芯片為STM32G4系列,其他芯片配置原理類似,相信你看完這篇文章后會有更深入的理解。


查看原理圖

要從底層理解GPIO口配置的原理,必然就少不了看原理圖,大家稍安勿躁,一定要克服,現在就由我來帶大家認清GPIO的真面目吧,簡單易懂,放心食用。

芯片電路原理圖

我們只來看芯片區(qū)域的原理圖,其他外設暫時不看,可觀們請看下圖:

gpio復用,STM32,藍橋杯嵌入式,stm32,單片機,arm,硬件工程,arm開發(fā)

?STM32芯片和51類似,GPIO引腳也是分為了幾組,有PA0~PA15,PB0~PB15等,其中有一些引腳是我們無法配置的,如序號15,31,47,63的VSS等,具體看下圖(非灰色的引腳就是無法改變的),然后對照上圖就能看出來,這些引腳都是接地或者高電平之類的固定值。

gpio復用,STM32,藍橋杯嵌入式,stm32,單片機,arm,硬件工程,arm開發(fā)

?好的,現在我們進入正題,假如我們想使用PA4引腳的“SPI3_NSS/ I2S3_WS”功能,我們是不是要先知道PA4引腳普通模式是什么功能,復用模式又是什么功能呢,然后再去理解,普通模式與復用模式如何配置。那我們接著往下看。


芯片數據手冊

在芯片書手冊中,我們主要查詢的是各個GPIO口的功能,包括普通模式與復用模式下的各種功能,然后去對照微控制器操作手冊來配置GPIO口,話不多說,接下來看圖(我們依舊以配置PA4口的“SPI3_NSS/ I2S3_WS”功能舉例):

找到引腳定義,理解引腳功能

第一步,找到手冊中引腳及引腳描述(Pinouts and pin description)這一章(不同手冊名稱可能不同,但意思大抵是相同的),然后再向下找到“Pin definition”:

gpio復用,STM32,藍橋杯嵌入式,stm32,單片機,arm,硬件工程,arm開發(fā)

?然后再這一章節(jié)中找到介紹PA4的地方,如下,我們就可以知道PA4引腳的普通模式與復用模式的功能分別是什么了,也能找到我們的目標PA4引腳的“SPI3_NSS/ I2S3_WS”功能。

gpio復用,STM32,藍橋杯嵌入式,stm32,單片機,arm,硬件工程,arm開發(fā)

?在這之中,我們發(fā)現PA4引腳的普通功能是TT_a,而復用功能有TIM3_CH2, SPI1_NSS, SPI3_NSS/ I2S3_WS, USART2_CK, SAI1_FS_B, EVENTOUT,這么多,我們要找的“SPI3_NSS/ I2S3_WS”就在復用功能中,但是又這么多復用功能,我們要這么去配置來分辨他們呢?我們接著向下走。

找到功能對應的Port

第二步,找到手冊中引腳及引腳描述(Pinouts and pin description)這一章(不同手冊名稱可能不同,但意思大抵是相同的),然后再向下找到“Alternate functions”:

gpio復用,STM32,藍橋杯嵌入式,stm32,單片機,arm,硬件工程,arm開發(fā)

?點擊即可看到如下,再找到PA4,后面就是PA4 引腳的復用功能,再這張圖中PA4后面找到“SPI3_NSS/ I2S3_WS”功能對應的列頭(Port),可以看到是“AF6”:

gpio復用,STM32,藍橋杯嵌入式,stm32,單片機,arm,硬件工程,arm開發(fā)

?接下來我們拿著這個Port“AF6”往下走


微控制器參考手冊

我們現在這個手冊中找到“General-purpose I/Os (GPIO)”中的“GPIO registers”,在這下面找到寄存器(GPIOx_AFRL),我這里是“GPIO alternatefunction low register(GPIOx_AFRL) (x = A to G)”:

gpio復用,STM32,藍橋杯嵌入式,stm32,單片機,arm,硬件工程,arm開發(fā)gpio復用,STM32,藍橋杯嵌入式,stm32,單片機,arm,硬件工程,arm開發(fā)

?這里可以看到有兩個(GPIO_AFRH),對應的是low reguster低寄存器(低八位)與high reguster高寄存器(高八位),我們需要找的是PA4口,也就是低八位了,所以我們來看9.4.9low register:

gpio復用,STM32,藍橋杯嵌入式,stm32,單片機,arm,硬件工程,arm開發(fā)

?因為我們找的是PA4口。對應的是AFSEL4,下面有四個數據為,現在是定義到了PA4口,那么接下來就要實現“SPI3_NSS/ I2S3_WS”,這個功能對應是port是”AF6“,我們往下翻 可以看到如下,“AF6”對應的數據是“?0110”。

gpio復用,STM32,藍橋杯嵌入式,stm32,單片機,arm,硬件工程,arm開發(fā)

現在一切都浮出水面啦,最后的配置就是將“GPIOX_AFRH”寄存器賦值,因為找的是PA4口,所以是GPIOA_AFRH,然后也因為是PA,所以我們選擇到AFSEL4[3:0],而我們選擇的功能對應的Port是“AF6”,而“AF6”對應的是數據是“0110”,所以我們賦值是數據為“0110”,到此,我們就完成了PA4口復用功能“GPIOA_AFRH”的選擇了。


?總結

首先在硬件手冊中了解?GPIO端口的名稱;然后再到數據手冊中找到需要使用的GPIO的普通模式還是復用模式,如果是復用模式,在找到該復用模式對應的port是多少;然后再到微控制器手冊中找到對應的寄存器賦值,以及port對應的數值,再賦值給寄存器就可以啦。


如果有幫助的話,歡迎點贊收藏哦~??,有不同見解或更好的觀點也可以在評論區(qū)留言,也可以筆者點點關注,互通有無,互相進步。文章來源地址http://www.zghlxwxcb.cn/news/detail-620568.html

到了這里,關于STM32 | GPIO口的普通與復用如何配置與用法,本文降從最底層教你如何查看手冊運用寄存器來實現GPIO口的配置的文章就介紹完了。如果您還想了解更多內容,請在右上角搜索TOY模板網以前的文章或繼續(xù)瀏覽下面的相關文章,希望大家以后多多支持TOY模板網!

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

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

相關文章

  • stm32 - GPIO高級用法

    PWM波通過改變占空比可以改變LED的亮度 PWM信號調節(jié)LED亮度時,信號頻率保持不變,即一個周期時間不變,改變的是脈沖的高電平的時間,即LED的導通時間,占空比越高,高電平的時間越長,LED亮度越亮 人眼的視覺殘留小樣,當頻率超過75HZ(周期小于13ms),人眼的閃爍感消失,

    2024年01月21日
    瀏覽(17)
  • 對于STM32F4庫函數中GPIO_PinAFConfig()函數的解讀,對復用功能的理解

    對于STM32F4庫函數中GPIO_PinAFConfig()函數的解讀,對復用功能的理解

    1、文章概述:在跟著野火學習STM32F07課程使,到串口這一章節(jié),我不太理解GPIO_PinAFConfig()函數的意思。后來經過,查找資料,自己計算GPIO_PinAFConfig()函數內的內容,最終理解的GPIO_PinAFConfig()函數的意思是:將外設(形參一)的某個引腳(形參二)用作什么功能(參數三)。那

    2024年02月12日
    瀏覽(22)
  • 學習筆記——STM32C8T6如何配置普通IO口

    學習筆記——STM32C8T6如何配置普通IO口

    ?最近使用stm32f103c8t6時,想要使用PA15端口作為普通io口輸出電平信號,但是發(fā)現配置不生效,于是就去網上查,發(fā)現要關閉初始狀態(tài)下芯片默認的專用復位功能,于是總結了一下幾個配置普通io口的引腳: 有: PA13? PA14? PA15? PB3? PB4 同時,這些引腳主功能(復位后)的功能

    2024年02月02日
    瀏覽(29)
  • STM32:GPIO_SetBits函數用法解釋

    GPIO_SetBits函數是用于將指定引腳設置為高狀態(tài)的函數,可以使用以下步驟進行使用: 首先需要初始化GPIO引腳,這可以通過GPIO_Init函數完成。在調用GPIO_Init函數時,需要傳遞一個GPIO_InitTypeDef類型的結構體,以配置引腳的模式、速度和上下拉電阻等參數。 在GPIO初始化完成后,

    2024年02月08日
    瀏覽(21)
  • STM32:GPIO_ResetBits函數用法解釋

    GPIO_ResetBits函數是用于將指定引腳設置為低狀態(tài)的函數,可以使用以下步驟進行使用: 首先需要初始化GPIO引腳,這可以通過GPIO_Init函數完成。在調用GPIO_Init函數時,需要傳遞一個GPIO_InitTypeDef類型的結構體,以配置引腳的模式、速度和上下拉電阻等參數。 在GPIO初始化完成后,

    2024年02月09日
    瀏覽(35)
  • [STM32 GPIO配置]

    GPIO初始化結構體: 關于 GPIO_Mode : 在程序函數里是這么寫的: ? 其中,具體的模式及使用說明如下: ? GPIO_Mode_AIN 為模擬輸入模式(Analog Input Mode)。 ? 在該模式下,GPIO引腳被配置為模擬信號輸入。ADC模塊可以將引腳讀取到的模擬信號轉換成數字信號進行處理。這種模式

    2024年02月19日
    瀏覽(18)
  • STM32——GPIO配置

    STM32——GPIO配置

    GPIO的輸入輸出是對于STM32單片機來說的。以下僅為個人粗略筆記,內部電路分析可參考博客https://blog.csdn.net/k666499436/article/details/123845466 1. 輸入 上拉輸入 下拉輸入 浮空輸入 模擬輸入 2. 輸出 復用推挽輸出 普通推挽輸出 復用開漏輸出 普通開漏輸出 3. 如何選擇GPIO的模式 先判

    2024年02月12日
    瀏覽(16)
  • 【STM32】STM32F4 GPIO詳解與配置

    【STM32】STM32F4 GPIO詳解與配置

    GPIO是通用輸入輸出端口的簡稱,為STM32可控制的引腳,STM32芯片的GPIO引腳與外部設備連接起來,從而實現與外部通訊、控制以及數據采集的功能。STM32芯片的GPIO被分成很多組,每組有16個引腳,所有的GPIO引腳都有基本的輸入輸出功能。 其中保護二極管使GPIO能夠5V電壓容忍。在

    2024年02月07日
    瀏覽(25)
  • STM32:GPIO配置和使用

    STM32:GPIO配置和使用

    目錄 一、GPIO簡介 1.1 GPIO的輸入輸出模式 1.1.1 輸入模式 1.1.2 輸出模式 二、GPIO的使用 2.1 引腳初始化 2.2 引腳使用 注:型號:STM32F407ZET6 ? ? GPIO:通用輸入輸出接口 ?? ?STM32上有A~H共8組,其中A~G7組每組有0~15號共16個引腳,H組有兩個引腳。 1.1.1 輸入模式 ?? ? 1. 上拉輸入 ?

    2024年02月08日
    瀏覽(16)
  • STM32配置GPIO的高低電平

    一、在keil對應的工程文件的對應位置新建gpio.h和gpio.c文件; 二、編輯gpio.c文件; 三、在gpio.h文件中編輯; 四、在主文件main.c文件中運用即可;

    2024年02月13日
    瀏覽(21)

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

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

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

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

二維碼1

領取紅包

二維碼2

領紅包