HK32F103x/C/D/E是航顺芯片推出的中大容量103系列芯片。作为32位MCU,最常用的功能就是GPIO。 HK32F103x的每个GPI/O端口有2个32位配置寄存器(GPIOx_CRL、GPIOx_CRH)、2个32位数据寄存器(GPIOx_IDR和GPIOx_ODR)和1个32位位/复位寄存器(GPIOx_BSRR)、16位复位寄存器(GPIOx_BRR)和32位锁定寄存器(GPIOx_LCKR)。
每个I/O端口的特定硬件特性,GPIO端口的每一位都可以通过软件单独配置为多种模式。
输入浮动
进入引体向上
输入下拉菜单
模拟 输入
开漏输出
推挽输出
推挽复用功能
开漏复用功能
每个 I/O 端口位均可自由可编程,但是 I/O 端口寄存器必须作为 32 位字进行访问(不允许半字或字节访问)。 GPIOx_BSRR 和 GPIOx_BRR 寄存器允许对任何 GPIO 寄存器进行读取/更改独立访问;这样,在读取和更改访问之间生成 IRQ 时就不会出现危险。每个 GPIO 引脚均可通过软件配置为输出(推挽或开路)、输入(带或不带上拉或下拉)或其他外设功能端口。大多数 GPIO 引脚与数字或模拟外设共享。所有 GPIO 引脚都具有高电流能力。如果需要,可以通过特定操作锁定 I/O 引脚的外设功能,以避免意外写入 I/O 寄存器。
下图是I/O端口位的基本结构:
5V兼容I/O端口位的基本结构
注: VDD_FT 是 5V 耐压 I/O 引脚专用,与 VDD
不同端口位配置表
输出模式位
单独位设置或位清除
对 GPIOx_ODR 的各个位进行编程时,软件不需要禁用中断:在单个 APB2 写操作中只能更改一个或多个位。这是通过向设置/复位寄存器(GPIOx_BSRR,复位为 GPIOx_BRR)中要更改的位写入“1”来完成的。未选择的位不会改变。
多功能(AF)
在使用默认复用功能之前,必须对端口位配置寄存器进行编程。
● 对于复用输入功能,端口必须配置为输入模式(浮空、上拉或下拉)并且输入引脚必须由外部驱动
注:复用功能输入引脚也可以通过软件进行模拟。该模拟可以通过对 GPIO 控制器 进行编程来实现。此时,应将端口设置为复用功能输出模式。显然,相应的引脚不再由外部驱动,而是通过GPIO控制器由软件驱动。
● 对于复用输出功能,端口必须配置为复用功能输出模式(推挽或开漏)。
● 对于双向复用功能,端口位必须配置复用功能输出模式(推挽或开漏)。此时,输入驱动器配置为浮动输入模式。
如果端口配置为复用输出功能,则该引脚与输出寄存器断开,并连接到片上外设的输出信号。如果软件将GPIO引脚配置为复用输出功能,但外设未激活,则其输出将是未定义的。
输入配置
当 I/O 端口配置为输入时:
● 输出缓冲器被禁用
●施密特触发器输入已激活
● 根据输入配置(上拉、下拉或浮动),连接弱上拉和下拉 电阻
● I/O 引脚上出现的数据在每个 APB2 时钟 采样到输入数据寄存器
● 读输入数据寄存器可以获得I/O状态
输出配置
当 I/O 端口配置为输出时:
● 输出缓冲器已激活
─ 开漏模式:输出寄存器上的“0”激活 N-MOS,而输出寄存器上的“1”将端口置于高阻抗状态(P-MOS 永远不会激活)。
─ 推挽模式:输出寄存器为‘0’激活N-MOS,输出寄存器为‘1’激活P-MOS。
●施密特触发器输入已激活
● 弱上拉和下拉电阻被禁用
● I/O 引脚上出现的数据在每个 APB2 时钟
被采样到输入数据寄存器中● 在开漏模式下,读输入数据寄存器可以获得I/O 状态
● 在推挽模式下,对输出数据寄存器的读访问获取最后写入的值。
多功能配置
当 I/O 端口配置为备用功能时:
● 在开漏或推挽配置中,输出缓冲器打开
● 内置外围信号驱动器输出缓冲器(复用功能输出)
●施密特触发器输入已激活
● 弱上拉和下拉电阻被禁用
● 在每个 APB2 时钟周期,I/O 引脚上出现的数据被采样到输入数据寄存器
● 开漏模式下,读取输入数据寄存器即可获取I/O 口状态
● 推挽模式下,读取输出数据寄存器即可获取最后写入的值
模拟输入配置
当 I/O 端口配置为模拟输入配置时:
● 输出缓冲器被禁用
● 禁用施密特触发器输入,实现每个模拟I/O 引脚的零功耗。施密特触发器输出值强制为‘0’
● 弱上拉和下拉电阻被禁用
● 读取输入数据寄存器时,值为‘0’
以下是开发者在操作HK32F103xC/D/E时需要注意的事项。
用户在使用HK32F103xC/D/E时,使用软件循环生成时序并使用GPIO反转仿真时序,发现与竞品不一致。这是因为我们的设计与我们朋友的设计不同。
解决办法如下:
如果没有Cache,HK32F103xCxDxE 的效率较低。
开启Cache后,HK32F103xCxDxE的效率显着提升。
以上寄存器的介绍,请参考我们的HK32F103xC/D/E应用手册。
来源:航顺芯片
审稿编辑:唐子红