# Orin Nano&NX GPIO教程

使用Orin Nano或Orin NX，在JetPack6系统上，控制GPIO的输入与输出

# JetPack6 GPIO配置说明

### 1.获取GPIO口的寄存器地址

##### 1.GPIO口位置图

[![Jetson_Orin_Nano_Expansion_Header_J12_Pinout.jpeg](https://www.linkzeelabs.com/wiki/uploads/images/gallery/2025-06/scaled-1680-/jetson-orin-nano-expansion-header-j12-pinout.jpeg)](https://www.linkzeelabs.com/wiki/uploads/images/gallery/2025-06/jetson-orin-nano-expansion-header-j12-pinout.jpeg)

##### 2.PADCTL基地址与GPIO口偏移量

PADCTL\_A0(PADCTL\_G3) 0x02430000  
PADCTL\_A4(PADCTL\_G4) 0x02434000  
PADCTL\_A16(PADCTL\_EDP) 0x02440000  
PADCTL\_A24(PADCTL\_G7) 0x02448000

7号 GPIO09 PADCTL\_G7\_SOC\_GPIO59\_0 0x30 gpio-492 PAC.06 0x02448030  
15号 GPIO12 PADCTL\_EDP\_SOC\_GPIO39\_0 0x20 gpio-433 PN.01 0x02440020  
29号 GPIO01 PADCTL\_G3\_SOC\_GPIO32\_0 0x68 gpio-453 PQ.05 0x02430068  
31号 GPIO11 PADCTL\_G3\_SOC\_GPIO33\_0 0x70 gpio-454 PQ.06 0x02430070  
32号 GPIO07 PADCTL\_G4\_SOC\_GPIO19\_0 0x80 gpio-389 PG.06 0x02434080  
33号 GPIO13 PADCTL\_G4\_SOC\_GPIO21\_0 0x40 gpio-391 PH.00 0x02434040

##### 3.（可选）参考官方教程

[https://docs.nvidia.com/jetson/archives/r36.4.3/DeveloperGuide/HR/JetsonModuleAdaptationAndBringUp/JetsonOrinNxNanoSeries.html#changing-the-pinmux](https://docs.nvidia.com/jetson/archives/r36.4.3/DeveloperGuide/HR/JetsonModuleAdaptationAndBringUp/JetsonOrinNxNanoSeries.html#changing-the-pinmux)

### 2.使用命令行控制GPIO

<div id="bkmrk--1">  
</div>##### 1.安装busybox与libgpiod2

sudo apt install busybox libgpiod2

##### 2.获取寄存器地址与GPIO名称

以31号引脚为例，0x02430070为寄存器地址，PQ.06为GPIO名称

请通过上一节1.2 PADCTL基地址与GPIO口偏移量 查询具体值

##### 3.设置GPIO为输入模式

上电默认为输入模式，也可以通过命令行再次设置为输入模式

sudo busybox devmem 0x02430070 w 0x58

获取GPIO当前状态，返回值1为高电平，0为低电平

gpioget $(gpiofind "PQ.06")

##### 4.设置GPIO为输出模式

通过命令行设置为输出模式

sudo busybox devmem 0x02430070 w 0x0

设置GPIO输出，1为高电平，0为低电平

gpioset --mode=wait $(gpiofind "PQ.06")=1

# JetPack5 GPIO配置说明

### 1.获取GPIO口的引脚名称与编号

##### 1.GPIO口位置图

[![Jetson_Orin_Nano_Expansion_Header_J12_Pinout.jpeg](https://www.linkzeelabs.com/wiki/uploads/images/gallery/2025-06/scaled-1680-/jetson-orin-nano-expansion-header-j12-pinout.jpeg)](https://www.linkzeelabs.com/wiki/uploads/images/gallery/2025-06/jetson-orin-nano-expansion-header-j12-pinout.jpeg)

##### 2.GPIO口的引脚名称与编号

7号 GPIO09 492 PAC.06  
15号 GPIO12 433 PN.01  
29号 GPIO01 453 PQ.05  
31号 GPIO11 454 PQ.06  
32号 GPIO07 389 PG.06  
33号 GPIO13 391 PH.00

### 2.使用命令行控制GPIO

<div id="bkmrk--1">  
</div>##### 1.获取GPIO口的引脚名称与编号


以31号引脚为例，454为GPIO口编号，PQ.06为引脚名称

请通过上一节1.2 GPIO口的引脚名称与编号

##### 2.提升至root权限，启用GPIO口

sudo bash

echo 454 &gt; /sys/class/gpio/export

##### 2.设置GPIO为输入模式

echo in &gt; /sys/class/gpio/PQ.06/direction

获取GPIO当前状态，返回值1为高电平，0为低电平

cat /sys/class/gpio/PQ.06/value

##### 3.设置GPIO为输出模式

echo out &gt; /sys/class/gpio/PQ.06/direction

设置GPIO输出，1为高电平，0为低电平

echo 1 &gt; /sys/class/gpio/PQ.06/value