0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

雅特力AT32F435/437xx GPIO使用指南

0739hhbb ? 來源:AT32 MCU 雅特力科技 ? 2023-02-22 10:18 ? 次閱讀

GPIO特性

  • 最大封裝(144pin)具有116個多功能雙向的I/O口;

  • 所有I/O口都可以映射到16個外部中斷;

  • 絕大部分I/O口可容忍5V輸入信號

  • 所有I/O口均為快速I/O,寄存器存取速度最高fAHB;

  • I/O引腳的外設(shè)功能可以通過一個特定的操作來開啟寫保護,以避免意外的寫入I/O寄存器;

  • 每個GPIO引腳都可以由軟件配置成輸出(推挽或開漏)、輸入(帶或不帶上拉或下拉)或復(fù)用的外設(shè)功能端口;

  • 可選的每個I/O口的電流推動/吸入能力;

  • 端口位設(shè)置/清除寄存器(GPIOx_SCR)和端口位清除寄存器(GPIOx_CLR)為GPIOx_ODT寄存器提供位訪問能力。

GPIO

GPIO在復(fù)位期間和剛復(fù)位后,復(fù)用功能未開啟,大部分I/O端口被配置成浮空輸入模式。當(dāng)作為輸出配置時,寫到輸出數(shù)據(jù)寄存器(GPIOx_ODT)上的值會輸出到相應(yīng)的I/O引腳。可以以推挽模式或開漏模式(僅低電平被驅(qū)動,高電平表現(xiàn)為高阻)使用輸出驅(qū)動器輸入數(shù)據(jù)寄存器(GPIOx_IDT)在每個AHB時鐘周期捕捉I/O引腳上的數(shù)據(jù)。所有GPIO引腳有一個內(nèi)部弱上拉和弱下拉,它們被激活或斷開有賴于GPIOx_PULL寄存器的值。圖1. I/O端口位的基本結(jié)構(gòu)eda0776a-b216-11ed-bfe3-dac502259ad0.png表1. I/O端口位配置表edcfe2c0-b216-11ed-bfe3-dac502259ad0.png ?

GPIO toggle

AT32F435/437提供的I/O口均為快速I/O,寄存器存取速度最高為fAHB,所以可以看到在主頻為240MHz時,GPIO翻轉(zhuǎn)頻率能夠輕松達到120MHz:圖2. I/O翻轉(zhuǎn)速度ede945d0-b216-11ed-bfe3-dac502259ad0.png ?

IO引腳的5V or 3.3V容忍

標(biāo)準(zhǔn)3.3V容忍引腳(TC所有振蕩器USB_OTG用到的引腳都是標(biāo)準(zhǔn)3.3V容忍引腳。
  • PC14/PC15(LEXT_IN/OUT)

  • PH0/PH1(HEXT_IN/OUT)

  • PA11/PA12(OTGFS1_D-/D+)

  • PB14/PB15(OTGFS2_D-/D+)

表2. TC引腳示例ee23833a-b216-11ed-bfe3-dac502259ad0.png ?模擬功能5V容忍引腳(FTaADC占用端口為帶模擬功能5V容忍引腳。
  • PA0–PA7,PB0–PB1,PC0–PC5,PF3–PF10

  • FTa引腳設(shè)置為輸入浮空、輸入上拉、或輸入下拉時,具有5V電平容忍特性;設(shè)置為模擬模式時,不具5V電平容忍特性,此時輸入電平必須小于VDD+0.3V

表3. FTa引腳示例ee40c6e8-b216-11ed-bfe3-dac502259ad0.png ?20mA吸入能力5V容忍引腳(FTf部分I2C可提供帶20mA吸入能力的5V容忍引腳。表4. FT引腳示例ee72a4d8-b216-11ed-bfe3-dac502259ad0.png ?5V容忍引腳(FT其余的GPIO都為5V容忍引腳。表5. FT引腳示例ee945682-b216-11ed-bfe3-dac502259ad0.png ?

IOMUX

I/O復(fù)用功能輸入/輸出

  • 大多數(shù)外設(shè)共享同一個GPIO引腳(比如PA0,可作為TMR2_CH1/TMR2_EXT/TMR5_CH1/TMR8_EXT/I2C2_SCL/USART2_CTS)

  • 而對某個具體的GPIO引腳,在任意時刻只有一個外設(shè)能夠與之相連

  • 某些外設(shè)功能還可以重映射到其他引腳,從而使得能同時使用的外設(shè)數(shù)量更多

選擇每個端口線的有效復(fù)用功能之一是由兩個寄存器來決定的,分別是GPIOx_MUXL和GPIOx_MUXH復(fù)用功能寄存器。可根據(jù)應(yīng)用的需求用這兩寄存器連接復(fù)用功能模塊到其他引腳。表6. 通過GPIOA_AFR寄存器配置端口A的復(fù)用功能eeb3b612-b216-11ed-bfe3-dac502259ad0.pngeed5fdd0-b216-11ed-bfe3-dac502259ad0.png表7. 通過GPIOB_AFR寄存器配置端口B的復(fù)用功能eefe38c2-b216-11ed-bfe3-dac502259ad0.pngef172e90-b216-11ed-bfe3-dac502259ad0.png表8. 通過GPIOF_AFR寄存器配置端口C的復(fù)用功能ef3d5fca-b216-11ed-bfe3-dac502259ad0.pngef5f6b74-b216-11ed-bfe3-dac502259ad0.png表9. 通過GPIOF_AFR寄存器配置端口D的復(fù)用功能ef8b3114-b216-11ed-bfe3-dac502259ad0.pngefbb6046-b216-11ed-bfe3-dac502259ad0.png表10.通過GPIOF_AFR寄存器配置端口E的復(fù)用功能eff017dc-b216-11ed-bfe3-dac502259ad0.pngf027b44e-b216-11ed-bfe3-dac502259ad0.png表11.通過GPIOF_AFR寄存器配置端口F的復(fù)用功能f049a84c-b216-11ed-bfe3-dac502259ad0.pngf07251e8-b216-11ed-bfe3-dac502259ad0.png表12.通過GPIOF_AFR寄存器配置端口G的復(fù)用功能f09cf6fa-b216-11ed-bfe3-dac502259ad0.pngf0c93756-b216-11ed-bfe3-dac502259ad0.png表13.通過GPIOF_AFR寄存器配置端口H的復(fù)用功能f104fde0-b216-11ed-bfe3-dac502259ad0.png ?f12330e4-b216-11ed-bfe3-dac502259ad0.png ?

特殊I/O

調(diào)試復(fù)用引腳
  • 在復(fù)位時,和復(fù)位后不像其他GPIO一樣處于浮空輸入狀態(tài),而是處于AF模式

  • PA13:JTMS/SWDIO,AF上拉

  • PA14:JTCK/SWCLK,AF下拉

  • PA15:JTDI,AF上拉

  • PB3:JTDO/SWO,AF浮空

  • PB4:JNTRST,AF上拉

振蕩器復(fù)用引腳
  • 振蕩器關(guān)閉的狀態(tài)下(復(fù)位后的默認(rèn)狀態(tài)),相關(guān)引腳可用作GPIO

  • 振蕩器使能狀態(tài)下,相應(yīng)引腳的GPIO配置無效

  • 振蕩器處于bypass模式(使用外部時鐘源)時,HEXT_IN/LEXT_IN為振蕩器時鐘輸入引腳,HEXT_OUT/LEXT_OUT可做GPIO使用

電池供電域引腳
  • 電池供電域引腳包括PC13、PC14以及PC15。電池供電域由VDD或VBAT引腳供電,當(dāng)VDD主 電源被切斷時,電池供電域自動切換至VBAT引腳供電,以保障ERTC正常工作。

  • 當(dāng)電池供電域由VDD供電時,PC13可以作為通用I/O口、TAMPER引腳、ERTC校準(zhǔn)時鐘、ERTC鬧鐘或秒輸出,PC14和PC15可以用于GPIO或LEXT引腳。(PC13至PC15作為I/O口的速度必須限制在2MHz以下,最大負(fù)載為30pF,而且這些I/O口絕對不能當(dāng)作電流源)。

  • 當(dāng)電池供電域由VBAT供電時,PC13可以作為TAMPER引腳、ERTC鬧鐘或秒輸出,PC14和PC15只能用于LEXT引腳。

GPIO固件驅(qū)動程序API

Artery提供的固件驅(qū)動程序包含了一系列固件函數(shù)來管理GPIO的下列功能:
  • GPIO寄存器復(fù)位

  • 初始化配置

  • 讀取輸入端口或某個輸入引腳

  • 讀取輸出端口或某個輸出引腳

  • 設(shè)置或清除某個引腳的輸出

  • 鎖定引腳

  • 引腳的復(fù)用功能配置

輸出模式

GPIO提供了兩種不同類型的輸出模式分別是,推挽輸出以及開漏輸出,下面是輸出模式的配置示例:f1478a8e-b216-11ed-bfe3-dac502259ad0.png ?

輸入模式

GPIO提供了三種不同類型的輸入模式分別是,浮空輸入、上拉輸入以及下拉輸入,下面是輸入模式的配置示例:f17b7ccc-b216-11ed-bfe3-dac502259ad0.png ? ?

模擬模式

當(dāng)需要使用ADC或COMP通道作為輸入時,需要將相應(yīng)的引腳配置為模擬模式,下面是模擬模式的配置示例:f1997b8c-b216-11ed-bfe3-dac502259ad0.png ?

復(fù)用模式

  1. 不論使用何種外設(shè)模式,都必須將I/O配置為復(fù)用功能,之后系統(tǒng)才能正確使用I/O(輸入或輸出)。

  2. I/O引腳通過復(fù)用器連接到相應(yīng)的外設(shè),該復(fù)用器一次只允許一個外設(shè)的復(fù)用功能(IOMUX)連接到I/O引腳。這樣便可確保共用同一個I/O引腳的外設(shè)之間不會發(fā)生沖突。每個I/O引腳都有一個復(fù)用器,該復(fù)用器具有16路復(fù)用功能輸入/輸出(MUX0到MUX15),可通過gpio_pin_mux_config()函數(shù)對這些引腳進行配置:

    —復(fù)位后,所有I/O都會連接到系統(tǒng)的復(fù)用功能0(MUX_0)

    —通過配置MUX0到MUX15可以映射外設(shè)的復(fù)用功能

  3. 除了這種靈活的I/O復(fù)用架構(gòu)之外,各外設(shè)還具有映射到不同I/O引腳的復(fù)用功能,這可以針對不同器件封裝優(yōu)化外設(shè)I/O功能的數(shù)量;例如,可將USART2_TX引腳映射到PA2或PA14引腳上。

  4. 配置過程:

    —使用gpio_pin_mux_config()函數(shù)將引腳連接到所需的外設(shè)復(fù)用功能,例如配置PA0作為TMR2_EXT輸入

    gpio_pin_mux_config(GPIOA,GPIO_PINS_SOURCE0,GPIO_MUX_1);

    —使用gpio_init()函數(shù)配置I/O引腳:

    -通過以下方式配置復(fù)用功能模式下的所需引腳gpio_init_struct.gpio_mode=GPIO_MODE_MUX;-通過以下成員選擇類型、上拉/下拉和驅(qū)動能力gpio_pull、gpio_out_type和gpio_drive_strength成員
根據(jù)上述配置過程,下面將介紹幾種外設(shè)的常用配置示例。 USART I/O復(fù)用模式配置f1ab0cf8-b216-11ed-bfe3-dac502259ad0.png ?TMR I/O復(fù)用模式配置f1c44aba-b216-11ed-bfe3-dac502259ad0.png ?I2C I/O復(fù)用模式配置f1edc192-b216-11ed-bfe3-dac502259ad0.png ?

案例 LED翻轉(zhuǎn)

功能簡介

通過系統(tǒng)時鐘延時來對LED進行翻轉(zhuǎn)。

資源準(zhǔn)備

1) 硬件環(huán)境:對應(yīng)產(chǎn)品型號的AT-START BOARD2) 軟件環(huán)境:projectat_start_f437examplesgpioled_toggle

軟件設(shè)計

1) 配置流程
  • 配置系統(tǒng)時鐘;

  • 初始化延時函數(shù)和LED;

  • 翻轉(zhuǎn)LED。

2) 代碼介紹
  • main函數(shù)代碼描述

f2109e4c-b216-11ed-bfe3-dac502259ad0.png
  • LED翻轉(zhuǎn)代碼描述

f2365358-b216-11ed-bfe3-dac502259ad0.png ?

實驗效果

  • 上電運行會看到LED2、LED3和LED4以間隔200ms時間交替的進行翻轉(zhuǎn)。

案例 SWJTAG接口復(fù)用

功能簡介

對SWJTAG接口的I/O進行復(fù)用。

資源準(zhǔn)備

3) 硬件環(huán)境:對應(yīng)產(chǎn)品型號的AT-START BOARD4) 軟件環(huán)境:projectat_start_f437examplesgpioswjtag_mux

軟件設(shè)計

3) 配置流程
  • 配置系統(tǒng)時鐘;

  • 初始化延時函數(shù);

  • 配置SWJTAG接口的復(fù)用和USART2初始化。

4) 代碼介紹
  • main函數(shù)代碼描述

f2575350-b216-11ed-bfe3-dac502259ad0.png
  • SWJ配置代碼描述

f28a9dfa-b216-11ed-bfe3-dac502259ad0.png ? ?

實驗效果

  • 將PA13接示波器,PA14接入串口打印工具;

  • 程序運行過程中PA13每隔500ms會翻轉(zhuǎn)一次,表示jtms/swdio引腳已被用為GPIO使用;

  • PA14接入串口打印工具后,每隔500ms會看到USART2_TX打印主循環(huán)執(zhí)行次數(shù)。

審核編輯:湯梓紅
聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • 寄存器
    +關(guān)注

    關(guān)注

    31

    文章

    5275

    瀏覽量

    119689
  • 端口
    +關(guān)注

    關(guān)注

    4

    文章

    936

    瀏覽量

    31958
  • GPIO
    +關(guān)注

    關(guān)注

    16

    文章

    1184

    瀏覽量

    51766
  • 雅特力
    +關(guān)注

    關(guān)注

    0

    文章

    150

    瀏覽量

    7949
  • AT32
    +關(guān)注

    關(guān)注

    1

    文章

    110

    瀏覽量

    2051

原文標(biāo)題:AT32講堂045 | 雅特力AT32F435/437xx GPIO使用指南

文章出處:【微信號:AT32 MCU 雅特力科技,微信公眾號:AT32 MCU 雅特力科技】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。

收藏 人收藏

    評論

    相關(guān)推薦

    AT32 MCU F435/437 DFU DEMO

    示例目的演示使用AT32F435/437實現(xiàn)DFU demo,其余系列使用方式與此類似。注:本示例代碼是基于提供的V2.x.x板級支持
    發(fā)表于 04-21 20:16

    FAQ0090 AT32F4xx系列獨立PWM輸出數(shù)量

    FAQ0090 AT32F4xx系列獨立PWM輸出數(shù)量Questions: AT32F4xx 系列不同封裝型號可以輸出最多獨立 PWM
    發(fā)表于 05-11 19:44

    AT32F435/437時鐘配置

    AT32F435/437時鐘配置主要介紹兩部分內(nèi)容:1、基于提供的V2.x.x 的板級支持包來進行時鐘源碼的配置及修改2、如何使用配套
    發(fā)表于 10-25 06:18

    AT32F435/437 EDMA使用指南

    AT32F435/437 EDMA使用指南本文主要就EDMA 的基本功能進行講解和案列解析。
    發(fā)表于 10-25 07:24

    AT32F435/437 I 2C使用指南

    AT32F435/437 I2C使用指南主要就I2C 總線接口的基本功能進行講解和案例解析。
    發(fā)表于 10-25 08:09

    如何提升AT32F435/437性能

    AT32F435/437 Performance Improvement描述了如何通過軟件方法改善AT32F435_437的運行效能。
    發(fā)表于 10-25 07:37

    AT32F435/437 ADC應(yīng)用說明

    AT32F435/437 ADC使用指南主要以ADC的特色功能進行講解和案列解析。
    發(fā)表于 10-25 08:08

    AT32F435/437xx GPIO使用指南

    AT32F435/437xx的通用功能I/O (GPIO)提供了一系列與外部環(huán)境通訊的接口,可用于MCU與其他嵌入式設(shè)備之間通過數(shù)字或模擬方式的通訊。AT32F435/
    發(fā)表于 10-25 08:23

    AT32F435/437 DMA使用指南

    AT32F435/437 擁有 2 個 DMA 控制器(DMA1/DMA2),每個 DMA 支持 7 個通道且外設(shè)的 DMA 請求可映射到任意通道上。本文主要就 DMA 的基本功能進行講解和案列解析。
    發(fā)表于 10-25 08:07

    AT32F435&AT32F437入門使用指南

    AT32F435 & AT32F437入門使用指南旨在讓用戶快速使用AT32F435xx /AT32F437xx 進行項目開發(fā),AT
    發(fā)表于 10-26 06:58

    AT32F435/437 OTGFS應(yīng)用筆記

    AT32F435/437包含2個獨立的OTGFS,編號OTGFS1和OTGFS2,本章將描述OTGFS支持的一些基本功能。 OTGFS1和OTGFS2特性完全相同。
    的頭像 發(fā)表于 03-08 13:23 ?1803次閱讀
    <b class='flag-5'>雅</b><b class='flag-5'>特</b><b class='flag-5'>力</b><b class='flag-5'>AT32F435</b>/<b class='flag-5'>437</b> OTGFS應(yīng)用筆記

    出道即顛峰!發(fā)布超高性能AT32F435/437系列Cortex? -M4 MCU

    12月1日,科技正式推出兩款主頻高達288MHz的AT32F435與AT32F437超高性能微控制器新品,在已有主流型和超值型產(chǎn)品線的
    的頭像 發(fā)表于 02-24 09:46 ?1852次閱讀
    出道即顛峰!<b class='flag-5'>雅</b><b class='flag-5'>特</b><b class='flag-5'>力</b>發(fā)布超高性能<b class='flag-5'>AT32F435</b>/<b class='flag-5'>437</b>系列Cortex? -M4 MCU

    AT32講堂045 | AT32F435/437xx GPIO使用指南

    GPIO特性最大封裝(144pin)具有116個多功能雙向的I/O口;所有I/O口都可以映射到16個外部中斷;絕大部分I/O口可容忍5V輸入信號;所有I/O口均為快速I/O,寄存器存取速度最高
    的頭像 發(fā)表于 02-22 11:22 ?3812次閱讀
    AT32講堂045 | <b class='flag-5'>雅</b><b class='flag-5'>特</b><b class='flag-5'>力</b><b class='flag-5'>AT32F435</b>/<b class='flag-5'>437xx</b> <b class='flag-5'>GPIO</b><b class='flag-5'>使用指南</b>

    AT32F435/F437入門使用指南

    搭建AT32開發(fā)環(huán)境一、調(diào)試工具及開發(fā)板目前AT32F435/F437開發(fā)板都自帶AT-Link-EZ調(diào)試工具,AT-Link-EZ如下圖左邊紅框所示,它也可拆開后單獨搭配其他電路板使用,支持IDE在線調(diào)試、在線燒錄、USB轉(zhuǎn)串口等功能。圖1.AT-
    的頭像 發(fā)表于 11-10 08:15 ?4688次閱讀
    <b class='flag-5'>雅</b><b class='flag-5'>特</b><b class='flag-5'>力</b><b class='flag-5'>AT32F435</b>/<b class='flag-5'>F437</b>入門<b class='flag-5'>使用指南</b>

    AT32F435 & AT32F437入門使用指南

    電子發(fā)燒友網(wǎng)站提供《AT32F435 & AT32F437入門使用指南.pdf》資料免費下載
    發(fā)表于 12-18 11:13 ?1次下載
    <b class='flag-5'>AT32F435</b> & AT32<b class='flag-5'>F437</b>入門<b class='flag-5'>使用指南</b>