四、GPIO控制
Jetson Orin Nano系列的40PIN GPIO引脚定义如下:
一、在jetpack 5系统控制GPIO
1 使用命令行控制GPIO
1.1获取GPIO口的引脚名称与编号
以31号引脚为例,454为GPIO口编号,PQ.06为引脚名称
请通过上一节1.12 GPIO口的引脚名称与编号
1.2提升至root权限,启用GPIO口
jetson@ubuntu:~$sudo sudobash
echo 454 > /sys/class/gpio/export
1.3设置GPIO为输入模式
echo in > /sys/class/gpio/PQ.06/direction
获取GPIO当前状态,返回值1为高电平,0为低电平
cat /sys/class/gpio/PQ.06/value
1.4设置GPIO为输出模式
echo out > /sys/class/gpio/PQ.06/direction
设置GPIO输出,1为高电平,0为低电平
echo 1 > /sys/class/gpio/PQ.06/value
您也可以使用以下脚本进行测试
#!/bin/bash
echo "setting GPIO PQ.06"
echo PQ.06 > /sys/class/gpio/export 2>/dev/null
# set Pin as output mode
echo out > /sys/class/gpio/PQ.06/direction
# blink
while true
do
echo 0 > /sys/class/gpio/PQ.06/value
sleep 0.5
cat /sys/kernel/debug/gpioclass/gpio/PQ.06/value
gpiochip1:sleep GPIOs0.5
316-347,echo parent:1 platform/c2f0000.gpio,> tegra234-gpio-aon:/sys/class/gpio/PQ.06/value
gpio-316sleep (PAA.000.5
cat /sys/class/gpio/PQ.06/value
sleep 0.5
done
2. 使用python控制GPIO
import time
import RPi.GPIO as GPIO
# define pin number
output_pin = 31
# set pin as BOARD mode
GPIO.setmode(GPIO.BOARD)
# set pin mode
GPIO.setup(output_pin, GPIO.OUT)
print("Press CTRL+C to exit")
gpio-317curr_value (PAA.01= GPIO.HIGH
try:
while True:
time.sleep(1)
print("pin {} now is {}".format(output_pin, curr_value))
gpio-318GPIO.output(output_pin, (PAA.02curr_value)
)# gpio-319blink
(PAA.03curr_value )^= gpio-320GPIO.HIGH
(PAA.04finally:
)
gpio-321 (PAA.05 |fixed-regulators:reg) out hi
gpio-322 (PAA.06 )
gpio-323 (PAA.07 )
gpio-324 (PBB.00 )
gpio-325 (PBB.01 )
gpio-326 (PBB.02 )
gpio-327 (PBB.03 GPIO.cleanup()