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

【STM32】STM32F4 GPIO口映射與復(fù)用

這篇具有很好參考價(jià)值的文章主要介紹了【STM32】STM32F4 GPIO口映射與復(fù)用。希望對(duì)大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請(qǐng)大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問。

  • 前言

STM32F4 有很多的內(nèi)置外設(shè),這些外設(shè)的外部引腳都是與 GPIO 復(fù)用的。也就是說,一個(gè) GPIO 如果可以復(fù)用為內(nèi)置外設(shè)的功能引腳,那么當(dāng)這個(gè) GPIO 作為內(nèi)置外設(shè)使用的時(shí)候,就叫做復(fù)用。 這部分知識(shí)在《STM32F4 中文參考手冊》第七章和芯片數(shù)據(jù)手冊有詳細(xì)的講解哪些 GPIO 管腳是 可以復(fù)用為哪些內(nèi)置外設(shè)。

STM32F4 系列微控制器 IO 引腳通過一個(gè)復(fù)用器連接到內(nèi)置外設(shè)或模塊。該復(fù)用器一次只允 許一個(gè)外設(shè)的復(fù)用功能(AF)連接到對(duì)應(yīng)的 IO 口。這樣可以確保共用同一個(gè) IO 引腳的外設(shè)之 間不會(huì)發(fā)生沖突。 每個(gè) IO 引腳都有一個(gè)復(fù)用器,該復(fù)用器采用 16 路復(fù)用功能輸入(AF0 到 AF15),可通過 GPIOx_AFRL(針對(duì)引腳 0-7)和 GPIOx_AFRH(針對(duì)引腳 8-15)寄存器對(duì)這些輸入進(jìn)行配置,每四 位控制一路復(fù)用: 1)完成復(fù)位后,所有 IO 都會(huì)連接到系統(tǒng)的復(fù)用功能 0(AF0)。 2)外設(shè)的復(fù)用功能映射到 AF1 到 AF13。 3)Cortex-M4 EVENTOUT 映射到 AF15。

stm32f4復(fù)用功能映射表,STM32,單片機(jī),嵌入式硬件,Powered by 金山文檔
  • 引腳圖

stm32f4復(fù)用功能映射表,STM32,單片機(jī),嵌入式硬件,Powered by 金山文檔
stm32f4復(fù)用功能映射表,STM32,單片機(jī),嵌入式硬件,Powered by 金山文檔
stm32f4復(fù)用功能映射表,STM32,單片機(jī),嵌入式硬件,Powered by 金山文檔
stm32f4復(fù)用功能映射表,STM32,單片機(jī),嵌入式硬件,Powered by 金山文檔
stm32f4復(fù)用功能映射表,STM32,單片機(jī),嵌入式硬件,Powered by 金山文檔
stm32f4復(fù)用功能映射表,STM32,單片機(jī),嵌入式硬件,Powered by 金山文檔
stm32f4復(fù)用功能映射表,STM32,單片機(jī),嵌入式硬件,Powered by 金山文檔
stm32f4復(fù)用功能映射表,STM32,單片機(jī),嵌入式硬件,Powered by 金山文檔
stm32f4復(fù)用功能映射表,STM32,單片機(jī),嵌入式硬件,Powered by 金山文檔
stm32f4復(fù)用功能映射表,STM32,單片機(jī),嵌入式硬件,Powered by 金山文檔
stm32f4復(fù)用功能映射表,STM32,單片機(jī),嵌入式硬件,Powered by 金山文檔
stm32f4復(fù)用功能映射表,STM32,單片機(jī),嵌入式硬件,Powered by 金山文檔
stm32f4復(fù)用功能映射表,STM32,單片機(jī),嵌入式硬件,Powered by 金山文檔
  • GPIO口復(fù)用與映射

STM32有很多的內(nèi)置外設(shè),這些外設(shè)的外部引腳都是與GPIO復(fù)用的。也就是說,一個(gè)GPIO如果可以復(fù)用為內(nèi)置外設(shè)的功能引腳,那么當(dāng)這個(gè)GPIO作為內(nèi)置外設(shè)使用的時(shí)候,就叫做復(fù)用。

  • 例如串口1 的發(fā)送接收引腳是PA9,PA10,當(dāng)我們把PA9,PA10不用作GPIO,而用做復(fù)用功能串口1的發(fā)送接收引腳的時(shí)候,叫端口復(fù)用。

  • 注意:

STM32F4系列微控制器IO引腳通過一個(gè)復(fù)用器連接到內(nèi)置外設(shè)或模塊。該復(fù)用器一次只允許一個(gè)外設(shè)的復(fù)用功能(AF)連接到對(duì)應(yīng)的IO口。這樣可以確保共用同一個(gè)IO引腳的外設(shè)之間不會(huì)發(fā)生沖突。

每個(gè)IO引腳都有一個(gè)復(fù)用器,該復(fù)用器采用16路復(fù)用功能輸入(AF0到AF15),可通過GPIOx_AFRL(針對(duì)引腳0-7)和GPIOx_AFRH(針對(duì)引腳8-15)寄存器對(duì)這些輸入進(jìn)行配置,每四位控制一路復(fù)用。文章來源地址http://www.zghlxwxcb.cn/news/detail-617881.html

stm32f4復(fù)用功能映射表,STM32,單片機(jī),嵌入式硬件,Powered by 金山文檔
  • AFRL寄存器

stm32f4復(fù)用功能映射表,STM32,單片機(jī),嵌入式硬件,Powered by 金山文檔
stm32f4復(fù)用功能映射表,STM32,單片機(jī),嵌入式硬件,Powered by 金山文檔
  • 當(dāng)需要使用復(fù)用功能的時(shí)候,我們配置相應(yīng)的寄存器 GPIOx_AFRL 或者 GPIOx_AFRH,讓對(duì)應(yīng)引 腳通過復(fù)用器連接到對(duì)應(yīng)的復(fù)用功能外設(shè)。這里我們列出 GPIOx_AFRL 寄存器的描述, GPIOx_AFRH 的作用跟 GPIOx_AFRL 類似,只不過 GPIOx_AFRH 控制的是一組 IO 口的高八位,GPIOx_AFRL 控制的是一組 IO 口的低八位。

使用GPIO_PinAFConfig()//函數(shù)進(jìn)行復(fù)用功能的配置
  • 端口復(fù)用配置步驟

stm32f4復(fù)用功能映射表,STM32,單片機(jī),嵌入式硬件,Powered by 金山文檔
以PA9,PA10配置為串口1為例
①GPIO端口時(shí)鐘使能。
    RCC_AHB1PeriphClockCmd(RCC_AHB1Periph_GPIOA,ENABLE);

②復(fù)用外設(shè)時(shí)鐘使能。
     比如你要將端口PA9,PA10復(fù)用為串口,所以要使能串口時(shí)鐘。
   RCC_APB2PeriphClockCmd(RCC_APB2Periph_USART1,ENABLE); 

③端口模式配置為復(fù)用功能。 GPIO_Init()函數(shù)。
   GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AF;//復(fù)用功能
④配置GPIOx_AFRL或者GPIOx_AFRH寄存器,將IO連接
    到所需的AFx。

     /*PA9連接AF7,復(fù)用為USART1_TX */
    GPIO_PinAFConfig(GPIOA,GPIO_PinSource9,GPIO_AF_USART1); 
    /* PA10連接AF7,復(fù)用為USART1_RX*/
   GPIO_PinAFConfig(GPIOA,GPIO_PinSource10,GPIO_AF_USART1); 
RCC_AHB1PeriphClockCmd(RCC_AHB1Periph_GPIOA,ENABLE); //使能GPIOA時(shí)鐘 ①
RCC_APB2PeriphClockCmd(RCC_APB2Periph_USART1,ENABLE);//使能USART1時(shí)鐘 ②
 
//USART1端口配置③
GPIO_InitStructure.GPIO_Pin = GPIO_Pin_9 | GPIO_Pin_10; //GPIOA9與GPIOA10
GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AF;//復(fù)用功能 
GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;    //速度50MHz
GPIO_InitStructure.GPIO_OType = GPIO_OType_PP; //推挽復(fù)用輸出
GPIO_InitStructure.GPIO_PuPd = GPIO_PuPd_UP; //上拉
GPIO_Init(GPIOA,&GPIO_InitStructure); //初始化PA9,PA10

//串口1對(duì)應(yīng)引腳復(fù)用映射 ④
GPIO_PinAFConfig(GPIOA,GPIO_PinSource9,GPIO_AF_USART1); //GPIOA9復(fù)用為USART1
GPIO_PinAFConfig(GPIOA,GPIO_PinSource10,GPIO_AF_USART1); //GPIOA10復(fù)用為USART1

到了這里,關(guān)于【STM32】STM32F4 GPIO口映射與復(fù)用的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

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

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

  • [GD32F4]基于GD32固件庫移植cherryusb[STM32F4]

    [GD32F4]基于GD32固件庫移植cherryusb[STM32F4]

    [GD32F4]基于GD32固件庫移植cherryusb[STM32F4] 使用開發(fā)板是淘寶買的不知名開發(fā)板,沒什么好說的,具體的型號(hào)是GD32F450VET6。 使用的cherryusb版本是0.9.0版本。 使用的GD32官方固件庫版本是:GD32F4xx_Firmware_Library_V3.0.4 cherryusb最牛的地方在于拋棄掉所有的依賴,只需要知道芯片的usb中斷

    2024年02月06日
    瀏覽(69)
  • STM32F4Timer

    STM32F4Timer

    ref https://blog.csdn.net/zhuxinmingde/article/details/131784852?ops_request_misc=request_id=biz_id=102utm_term=STM32%20%E9%AB%98%E7%BA%A7%EF%BC%8C%E6%99%AE%E9%80%9A%EF%BC%8C%E5%9F%BA%E6%9C%AC%E5%AE%9A%E6%97%B6%E5%99%A8utm_medium=distribute.pc_search_result.none-task-blog-2 all sobaiduweb~default-1-131784852.142 v99 controlspm=1018.2226.3001.4187 1. Timer re

    2024年02月02日
    瀏覽(22)
  • 第八步:STM32F4 EXTI

    第八步:STM32F4 EXTI

    STM32F4的每個(gè)IO都可以作為外部中斷輸入。 STM32F4的中斷控制器支持22個(gè)外部中斷/事件請(qǐng)求: EXTI線0~15:對(duì)應(yīng)外部IO口的輸入中斷。 EXTI線16:連接到PVD輸出。 EXTI線17:連接到RTC鬧鐘事件。 EXTI線18:連接到USB OTG FS喚醒事件。 EXTI線19:連接到以太網(wǎng)喚醒事件。 EXTI線20:連接到US

    2024年02月12日
    瀏覽(18)
  • 第三步:STM32F4時(shí)鐘介紹

    第三步:STM32F4時(shí)鐘介紹

    1. STM32 有 5 個(gè)時(shí)鐘源 :HSI 、 HSE 、 LSI 、 LSE 、 PLL 。 ? ? ①、 HSI 是高速內(nèi)部時(shí)鐘, RC 振蕩器,頻率為 16MHz ,精度不高??梢灾苯幼鳛橄到y(tǒng) ? 時(shí)鐘或者用作 PLL 時(shí)鐘輸入。 ②、 HSE 是高速外部時(shí)鐘,可接石英 / 陶瓷諧振器,或者接外部時(shí) ??????????????? 鐘源,頻率范

    2024年02月12日
    瀏覽(22)
  • 基于STM32F4的心電監(jiān)護(hù)儀

    基于STM32F4的心電監(jiān)護(hù)儀

    從題目中可以看出該課題來源于 2020年省電賽A題的無線運(yùn)動(dòng)傳感器節(jié)點(diǎn)的設(shè)計(jì) ,該作品得過湖北省電賽二等獎(jiǎng),同時(shí)也是我本科畢業(yè)設(shè)計(jì),這里我把自己做的關(guān)于心電部分的工作進(jìn)行一次總結(jié),也對(duì)我的大學(xué)四年進(jìn)行一次總結(jié)。 處理器板子的選擇 本研究的處理器模塊選擇

    2024年02月03日
    瀏覽(29)
  • 基于STM32F4開發(fā)的智能臺(tái)燈

    基于STM32F4開發(fā)的智能臺(tái)燈

    寫這篇博客的目的有2個(gè),首先是記錄一下學(xué)習(xí)STM32大半年來的第一個(gè)自己動(dòng)手開發(fā)的項(xiàng)目,整理一下開發(fā)過程和思路;其次也是希望可以和更多的同行交流開發(fā)經(jīng)驗(yàn),有什么問題可以多多討論,集思廣益,共同進(jìn)步~ 開發(fā)的智能臺(tái)燈功能有2個(gè): 1.手動(dòng)模式:可通過按鍵調(diào)節(jié)

    2024年02月05日
    瀏覽(25)
  • STM32F4X 定時(shí)器中斷

    STM32F4X 定時(shí)器中斷

    定時(shí)器(Timer)最基本的功能就是定時(shí),比如定時(shí)翻轉(zhuǎn)LED燈,定時(shí)向串口發(fā)送數(shù)據(jù)等。除此之外,定時(shí)器還可以跟GPIO結(jié)合使用,利用定時(shí)器產(chǎn)生PWM波形,利用定時(shí)器捕捉電平信號(hào)等。本章先來講解定時(shí)器的最基本的用法,定時(shí)功能。 STM32F4X將定時(shí)器分成3類,分別是基本定時(shí)器,

    2024年02月12日
    瀏覽(23)
  • STM32F4X USART串口使用

    STM32F4X USART串口使用

    串口是MCU與外部通信的重要通信接口,也是MCU在開發(fā)過程中的調(diào)試?yán)?。串口通信有幾個(gè)重要的參數(shù),分別是波特率、起始位、數(shù)據(jù)位、校驗(yàn)位。雙方在進(jìn)行串口通信前必須要約定好通信的參數(shù),否則會(huì)導(dǎo)致通信失敗。 起始位是自動(dòng)產(chǎn)生,無需配置,通常是產(chǎn)生一個(gè)低電平為

    2024年02月11日
    瀏覽(28)
  • 關(guān)于STM32F4和GD32F4以太網(wǎng),LAN8720+lwip+freemodbus,實(shí)現(xiàn)modbus tcp

    關(guān)于STM32F4和GD32F4以太網(wǎng),LAN8720+lwip+freemodbus,實(shí)現(xiàn)modbus tcp

    關(guān)于STM32F4和GD32F4以太網(wǎng),LAN8720+lwip+freemodbus 這里使用了大佬 小灰灰搞電子 的代碼,文章看 STM32F407+LAN8720移植Lwip和freeModbus實(shí)現(xiàn)MODBUS TCP 代碼看 STM32F407+LAN8720+LWIP移植freemodbus TCP.zip 他的代碼是基于正點(diǎn)原子F407的板子開發(fā)的,如果是別的板子,需要修改引腳 小灰灰的代碼里,沒

    2024年02月14日
    瀏覽(26)
  • STM32F4X 獨(dú)立看門狗 IWDG

    STM32F4X 獨(dú)立看門狗 IWDG

    我們都知道,當(dāng)一個(gè)嵌入式在運(yùn)行過程中發(fā)生死機(jī)或者程序跑飛的情況的時(shí)候,我們一般都是要手動(dòng)進(jìn)行開關(guān)機(jī)或者復(fù)位,讓程序能夠重新運(yùn)行。但是當(dāng)一個(gè)嵌入式系統(tǒng)被安裝到一些特殊位置時(shí),如果發(fā)生了死機(jī)又不能及時(shí)進(jìn)行手動(dòng)復(fù)位,這時(shí)候就需要看門狗了??撮T狗的作

    2024年02月11日
    瀏覽(24)

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

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請(qǐng)作者喝杯咖啡吧~博客贊助

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

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包