首页 > 技术知识 > 正文

海思应用篇】-(5)GPIO操作

针对海思hi3531dv200 芯片,应用层怎么操作gpio管脚,这一节我们来详细介绍一下。芯片支持26组GPIO(General Purpose Input/Output),即GPIO0~GPIO25。每组GPIO提供8个可编程的输入输出管脚(GPIO6只有7个,即bit1~7;GPIO25只有5个,即bit0~4)。 每个管脚可以配置为输入或者输出。这些管脚用于生成特定应用的输出信号或采集特定应用的输入信号。作为输入管脚时,GPIO可作为中断源;作为输出管脚时,每个GPIO都可以独立地清0或置1。

1.GPIO配置

针对每组GPIO都有一个基地址,每组GPIO寄存器只需要配置该基地址下的GPIO数据寄存器和方向寄存器即可。下面就来操作一下一个GPIO流程

1.1 GPIO复用

我们知道有些管脚可以复用成其他的功能,既可以做为普通的GPIO操作,也可以复用成其他功能管脚。这时候需要我们通过GPIO复用寄存器来配置。

可以通过《Hi3531DV200_PINOUT_CN.xlsx》查看和配置寄存器。比如GPIO4_2来举例。

【海思应用篇】-(5)GPIO操作himm 0x102f0068 0x1200;

1.2 GPIO数据和方向寄存器配置

数据寄存器配置【海思应用篇】-(5)GPIO操作1

这个配置时候一定要注意:GPIO_DATA[7:0]对应PADDR[9:2],而PADDR[1:0]固定为0。

方向寄存器配置【海思应用篇】-(5)GPIO操作2

这样就可以通过GPIO_DATA[7:0]数值和GPIO_DIR来作为输入和输出操作GPIO。

himm 0x11094400 0x04;//输出

himm 0x11094010 0x00;//输出低电平

himm 0x11094010 0x01;//输出高电平

猜你喜欢