睿兴RX32S11参考手册:https://www.rxtek-icore.com/media/upload/2024/3/RX32S11_Reference_Manual_V2.pdf

———————————————————————————————————————————

GPIO的特性

每个通用 I/O 都有以下寄存器:

  • 1 个 16 位  端口功能配置寄存器(GPIOx_IOCFG)
  • 1 个 16 位  端口数据寄存器 (GPIOx_PTDAT)
  • 1 个 32 位  端口上下拉配置寄存器(GPIOx_PUPDN)和
  • 1 个 16 位  端口复位寄存器 (GPIOx_PTCLR)

所有 GPIO 共用以下寄存器:

  •  1 个 16 位端口高阻态控制寄存器(GPIOx_HIIPM)
  •  2 个 复用功能配置寄存器(GPIOx_AFCFG1 和 GPIOx_AFCFG2)

GPIO功能:

  • 浮空输入
  • 上拉输入
  • 下拉输入
  • 模拟输入

  • 开漏输出
  • 推挽输出
  • 复用开漏输出
  • 复用推挽输出

每个 I/O 端口位可以自由编程

I/O 端口寄存器支持字、半字或字节访问。

GPIO默认状态

        所有I/O端口默认不启用复用功能,仅作为普通GPIO,默认被配置成浮空输入模式。

        调试接口的引脚默认被置于复用模式,也就是调试功能:

  • PA0(SWIO):浮空输入,用于双向数据信号(SWDIO)。

  • PA1(SWCLK):浮空输入,用于时钟信号(SWCLK)。

 I/O 引脚的多路复用

        芯片的 I/O 引脚通常数量有限,但芯片内部可能有多个外设模块(如 UART、SPI、I2C、PWM 等),每个外设都需要占用一些引脚。

        为了在有限的引脚上支持更多功能,芯片采用 多路复用(Multiplexing) 机制,即 一个物理引脚可以切换连接到不同的内部外设,但 同一时间只能连接一个功能

      每个 I/O 引脚都有一个独立的多路复用器(MUX), 它相当于一个电子开关,可以选择将引脚连接到 某个外设功能 或 普通 GPIO同一时间只能选择其中一种功能。

        多路复用器(MUX)默认选在复用功能 0(SEL0),可以通过 GPIOx_IOCFG 寄存器将 I/O 配置成复用功能模式。

        多路复用器(MUX)可以通过 GPIOx_AFCFG1 和 GPIOx_AFCFG2 进行控制,选择不同的复用功能。

        该芯片不仅支持 固定引脚复用(通过 GPIOx_AFCFG 选择功能),还支持 外设功能动态映射到不同引脚,这在小型封装(如 QFN32、TSSOP20)中尤为重要。

要将 I/O 配制成所需的复用功能,请按照以下步骤操作:

1、调试接口处理:在芯片复位后,会将调试引脚指定为专用引脚,可供调试器立即使用。

2、GPIO基础配置:使用 GPIOx_IOCFG 寄存器将所需的 I/O 配置为 GPIO 或功能 PIN。

3、外设复用配置:

– 使用 GPIOx_AFCFG1 或 GPIOx_AFCFG2 将 I/O 连接到指定的复用功能上。

– 使用 GPIOx_PTDIR,GPIOx_PUPDN 和 GPIOx_PTDAT 寄存器分别配置方向、上拉/下拉和 数据输入输出。

– 使用 GPIOx_IOCFG 寄存器将 I/O 配置为复用模式。

I/O 端口控制寄存器

每个 GPIO 端口有 2 个 32 位内存映射控制寄存器(GPIOx_AFCFG 和 GPIOx_PUPDN)

1. GPIOx_AFCFG (Alternate Function Configuration Register)

  • 功能:用于配置I/O口的复用功能

  • 位数:32位

  • 控制能力:最多可配置10个I/O口

  • 作用:每个I/O口可以通过该寄存器设置为特定的复用功能(如UART、SPI、I2C等外设功能)

2. GPIOx_PUPDN (Pull-up/Pull-down Configuration Register)

  • 功能:用于配置I/O口的上拉/下拉电阻

  • 位数:32位

  • 控制能力:最多可配置10个I/O口

  • 作用

    • 可以选择是否启用上拉/下拉电阻

    • 可以配置输入方向时的上拉/下拉状态

    • 可以配置输出方向时的驱动特性(如果支持)

I/O 端口数据寄存器

GPIOx_PTDAT 是一个 16 位内存映射数据寄存器,用于存储 GPIO 端口的输入/输出数据

GPIOx_PTDAT仅在端口配置为 GPIO 功能 或 支持数字输入的复用功能时有效

输出模式:可读可写

写入GPIOx_PTDAT寄存器的值会直接驱动引脚电平(如写1输出高,写0输出低)。

输入模式:只读

GPIOx_PTDAT寄存器会在每个APB时钟周期采样引脚的实际电平,从而实现实时读取外部信号。

I/O 复用功能输入/输出

        GPIOx_AFCFG1 和 GPIOx_AFCFG2 是用于 灵活配置 I/O 复用功能(Alternate Function, AF) 的寄存器,允许用户将不同的外设功能(如 UART、SPI、PWM 等)动态映射到指定的 GPIO 引脚。

多路复用控制
        通过 GPIOx_AFCFG1 和 GPIOx_AFCFG2 两个寄存器,每个 I/O 引脚可以独立选择 多种外设功能

输入/输出共用通道
        对同一 I/O 引脚,复用功能的 输入和输出路径 共享同一个 AF 选择信号(即无需单独配置输入/输出方向,由外设自动管理)。

外部中断/唤醒线

        部分 GPIO 端口支持 外部中断(EXTI, External Interrupt) 功能

外部中断功能适用场景

  • 按键检测(边沿触发)

  • 传感器信号监测(如红外、霍尔传感器)

  • 低功耗模式下唤醒 MCU(如 RTC 闹钟、外部事件唤醒)

要使用外部中断功能,需要将端口配置为输入模式。

GPIO 输入模式配置

当 I/O 端口被配置为输入模式 时,其内部电路行为如下

1、输出缓冲区禁用

2、施密特触发器输入激活

3、由 GPIOx_PUPDN 寄存器配置上拉和下拉电阻:
• 上拉:引脚默认高电平
• 下拉:引脚默认低电平
• 浮空:无电阻(需外部驱动)

4、每个 APB 时钟周期,引脚电平被采样到输入数据寄存器(GPIOx_PTDAT)。

5、通过读取 GPIOx_PTDAT 获取当前引脚状态(0 或 1)。

GPIO 输出模式配置

当 I/O 端口被配置为输出模式 时,

1、输出缓冲区已启用:

2、若是开漏模式(P-MOS 未被开启):

  • 输出寄存器中的“0”开启 N-MOS → 输出低电平
  • 输出寄存器中的“1”使端口处于 Hi-Z 状态 → 输出高阻态(Hi-Z)

3、若是推挽模式:

  • 输出寄存器中的“0”开启 N-MOS → 输出低电平
  • 输出寄存器中的“1”开启 P-MOS → 输出高电平

4、施密特触发器输入激活

Logo

智能硬件社区聚焦AI智能硬件技术生态,汇聚嵌入式AI、物联网硬件开发者,打造交流分享平台,同步全国赛事资讯、开展 OPC 核心人才招募,助力技术落地与开发者成长。

更多推荐