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

gpio特性
  最大封装(144pin)具有116个多功能双向的i/o口;
所有i/o口都可以映射到16个外部中断;
绝大部分i/o口可容忍5v输入信号;
所有i/o口均为快速i/o,寄存器存取速度最高fahb;
i/o引脚的外设功能可以通过一个特定的操作来开启写保护,以避免意外的写入i/o寄存器;
每个gpio引脚都可以由软件配置成输出(推挽或开漏)、输入(带或不带上拉或下拉)或复用的外设功能端口;
可选的每个i/o口的电流推动/吸入能力;
端口位设置/清除寄存器(gpiox_scr)和端口位清除寄存器(gpiox_clr)为gpiox_odt寄存器提供位访问能力。
  gpio
 gpio在复位期间和刚复位后,复用功能未开启,大部分i/o端口被配置成浮空输入模式。当作为输出配置时,写到输出数据寄存器(gpiox_odt)上的值会输出到相应的i/o引脚。可以以推挽模式或开漏模式(仅低电平被驱动,高电平表现为高阻)使用输出驱动器。输入数据寄存器(gpiox_idt)在每个ahb时钟周期捕捉i/o引脚上的数据。所有gpio引脚有一个内部弱上拉和弱下拉,它们被激活或断开有赖于gpiox_pull寄存器的值。图1. i/o端口位的基本结构表1. i/o端口位配置表   gpio toggle
 at32f435/437提供的i/o口均为快速i/o,寄存器存取速度最高为fahb,所以可以看到在主频为240mhz时,gpio翻转频率能够轻松达到120mhz:图2. i/o翻转速度   io引脚的5v or 3.3v容忍
 标准3.3v容忍引脚(tc)所有振荡器和usb_otg用到的引脚都是标准3.3v容忍引脚。 pc14/pc15(lext_in/out)
ph0/ph1(hext_in/out)
pa11/pa12(otgfs1_d-/d+)
pb14/pb15(otgfs2_d-/d+)
表2. tc引脚示例  带模拟功能5v容忍引脚(fta)adc占用端口为带模拟功能5v容忍引脚。 pa0–pa7,pb0–pb1,pc0–pc5,pf3–pf10
fta引脚设置为输入浮空、输入上拉、或输入下拉时,具有5v电平容忍特性;设置为模拟模式时,不具5v电平容忍特性,此时输入电平必须小于vdd+0.3v
表3. fta引脚示例  带20ma吸入能力5v容忍引脚(ftf)部分i2c可提供带20ma吸入能力的5v容忍引脚。表4. ft引脚示例  5v容忍引脚(ft)其余的gpio都为5v容忍引脚。表5. ft引脚示例   iomux
  i/o复用功能输入/输出
  大多数外设共享同一个gpio引脚(比如pa0,可作为tmr2_ch1/tmr2_ext/tmr5_ch1/tmr8_ext/i2c2_scl/usart2_cts)
而对某个具体的gpio引脚,在任意时刻只有一个外设能够与之相连
某些外设功能还可以重映射到其他引脚,从而使得能同时使用的外设数量更多
选择每个端口线的有效复用功能之一是由两个寄存器来决定的,分别是gpiox_muxl和gpiox_muxh复用功能寄存器。可根据应用的需求用这两寄存器连接复用功能模块到其他引脚。表6. 通过gpioa_afr寄存器配置端口a的复用功能表7. 通过gpiob_afr寄存器配置端口b的复用功能表8. 通过gpiof_afr寄存器配置端口c的复用功能表9. 通过gpiof_afr寄存器配置端口d的复用功能表10. 通过gpiof_afr寄存器配置端口e的复用功能表11. 通过gpiof_afr寄存器配置端口f的复用功能表12. 通过gpiof_afr寄存器配置端口g的复用功能表13. 通过gpiof_afr寄存器配置端口h的复用功能     特殊i/o
 调试复用引脚 在复位时,和复位后不像其他gpio一样处于浮空输入状态,而是处于af模式
pa13:jtms/swdio,af上拉
pa14:jtck/swclk,af下拉
pa15:jtdi,af上拉
pb3:jtdo/swo,af浮空
pb4:jntrst,af上拉
 振荡器复用引脚 振荡器关闭的状态下(复位后的默认状态),相关引脚可用作gpio
振荡器使能状态下,相应引脚的gpio配置无效
振荡器处于bypass模式(使用外部时钟源)时,hext_in/lext_in为振荡器时钟输入引脚,hext_out/lext_out可做gpio使用
 电池供电域引脚 电池供电域引脚包括pc13、pc14以及pc15。电池供电域由vdd或vbat引脚供电,当vdd主 电源被切断时,电池供电域自动切换至vbat引脚供电,以保障ertc正常工作。
当电池供电域由vdd供电时,pc13可以作为通用i/o口、tamper引脚、ertc校准时钟、ertc闹钟或秒输出,pc14和pc15可以用于gpio或lext引脚。(pc13至pc15作为i/o口的速度必须限制在2mhz以下,最大负载为30pf,而且这些i/o口绝对不能当作电流源)。
当电池供电域由vbat供电时,pc13可以作为tamper引脚、ertc闹钟或秒输出,pc14和pc15只能用于lext引脚。
  gpio固件驱动程序api
 artery提供的固件驱动程序包含了一系列固件函数来管理gpio的下列功能: gpio寄存器复位
初始化配置
读取输入端口或某个输入引脚
读取输出端口或某个输出引脚
设置或清除某个引脚的输出
锁定引脚
引脚的复用功能配置
  输出模式
 gpio提供了两种不同类型的输出模式分别是,推挽输出以及开漏输出,下面是输出模式的配置示例:   输入模式
 gpio提供了三种不同类型的输入模式分别是,浮空输入、上拉输入以及下拉输入,下面是输入模式的配置示例:     模拟模式
 当需要使用adc或comp通道作为输入时,需要将相应的引脚配置为模拟模式,下面是模拟模式的配置示例:   复用模式
  不论使用何种外设模式,都必须将i/o配置为复用功能,之后系统才能正确使用i/o(输入或输出)。
i/o引脚通过复用器连接到相应的外设,该复用器一次只允许一个外设的复用功能(iomux)连接到i/o引脚。这样便可确保共用同一个i/o引脚的外设之间不会发生冲突。每个i/o引脚都有一个复用器,该复用器具有16路复用功能输入/输出(mux0到mux15),可通过gpio_pin_mux_config()函数对这些引脚进行配置:
—复位后,所有i/o都会连接到系统的复用功能0(mux_0)
—通过配置mux0到mux15可以映射外设的复用功能
除了这种灵活的i/o复用架构之外,各外设还具有映射到不同i/o引脚的复用功能,这可以针对不同器件封装优化外设i/o功能的数量;例如,可将usart2_tx引脚映射到pa2或pa14引脚上。
配置过程:
—使用gpio_pin_mux_config()函数将引脚连接到所需的外设复用功能,例如配置pa0作为tmr2_ext输入
gpio_pin_mux_config(gpioa,gpio_pins_source0,gpio_mux_1);
—使用gpio_init()函数配置i/o引脚:
-通过以下方式配置复用功能模式下的所需引脚gpio_init_struct.gpio_mode=gpio_mode_mux;-通过以下成员选择类型、上拉/下拉和驱动能力gpio_pull、gpio_out_type和gpio_drive_strength成员 根据上述配置过程,下面将介绍几种外设的常用配置示例。  usart i/o复用模式配置  tmr i/o复用模式配置  i2c i/o复用模式配置   案例 led翻转
  功能简介
 通过系统时钟延时来对led进行翻转。   资源准备
 1) 硬件环境:对应产品型号的at-start board2) 软件环境:projectat_start_f437examplesgpioled_toggle   软件设计
 1) 配置流程 配置系统时钟;
初始化延时函数和led;
翻转led。
2) 代码介绍 main函数代码描述
led翻转代码描述
  实验效果
  上电运行会看到led2、led3和led4以间隔200ms时间交替的进行翻转。
  案例 swjtag接口复用
  功能简介
 对swjtag接口的i/o进行复用。   资源准备
 3) 硬件环境:对应产品型号的at-start board4) 软件环境:projectat_start_f437examplesgpioswjtag_mux   软件设计
 3) 配置流程 配置系统时钟;
初始化延时函数;
配置swjtag接口的复用和usart2初始化。
4) 代码介绍 main函数代码描述
swj配置代码描述
    实验效果
  将pa13接示波器,pa14接入串口打印工具;
程序运行过程中pa13每隔500ms会翻转一次,表示jtms/swdio引脚已被用为gpio使用;
pa14接入串口打印工具后,每隔500ms会看到usart2_tx打印主循环执行次数。

Littelfuse宣布推出1700V、1 Ohm碳化硅MOSFET
具电缆压降补偿功能的5V/2.1A USB电源电路图
Zynq系列FPGA的亮点
锅炉除尘脱硫PLC如何实现远程监控和节能减排
无线通讯模块的优势是什么
雅特力AT32F435/437xx GPIO使用指南
关于驾驶员辅助系统中的雷达设计
串口服务器系统中S3C44B0的应用设计
台积电5nm、7nm满载,部分订单已排至明年下半年
石墨烯包覆能否解决钛酸锂产气问题
基于SoC芯片CC2531与CC2591的WSN节点通信模块设计
中国通信技术 美国政府无法抹掉
起亚Soul EV电池包全解剖
笔记本电池的种类和特性
ETC的使用情况乐观吗
LED灯杆屏具备那些应用特点
固态硬盘会不会影响整个电脑的运行速度
自复式过欠压保护器是什么,它可以作为主开关吗
新能源汽车燃料电池FCU电控单元快速开发
VCO频率的运行频率高,具有什么优势?