← 返回
开发者工具

Rdk X5 Gpio

控制 RDK X5 40pin 排针接口:GPIO 数字输入/输出、PWM 舵机/电机/LED 呼吸灯、I2C 传感器通信、SPI 总线、UART 串口、CAN 总线。Use when the user wants to control GPIO pins, drive servos/motors/LEDs wi...
控制 RDK X5 40pin 排针接口:GPIO 数字输入/输出、PWM 舵机/电机/LED 呼吸灯、I2C 传感器通信、SPI 总线、UART 串口、CAN 总线。Use when the user wants to control GPIO pins, drive servos/motors/LEDs wi...
katherineedwards2475
开发者工具 clawhub v1.0.0 1 版本 100000 Key: 无需
★ 1
Stars
📥 536
下载
💾 7
安装
1
版本
#can#embedded#gpio#i2c#latest#pwm#rdk-x5#robotics#spi#uart

概述

RDK X5 GPIO — 40pin 外设控制

RDK X5 40pin 排针兼容树莓派引脚定义,支持 GPIO / PWM / I2C / SPI / UART / CAN。

前置准备

# GPIO 库(系统已预装 Hobot.GPIO)
pip3 show Hobot.GPIO

# 引脚功能复用配置(v3.3.3+ 支持自动复用)
sudo srpi-config
# → Interface Options → 选择需要的总线

操作步骤

1. GPIO 数字输出

import Hobot.GPIO as GPIO
import time

GPIO.setmode(GPIO.BOARD)
GPIO.setup(11, GPIO.OUT)
GPIO.output(11, GPIO.HIGH)   # 高电平
time.sleep(1)
GPIO.output(11, GPIO.LOW)    # 低电平
GPIO.cleanup()

2. GPIO 数字输入

import Hobot.GPIO as GPIO

GPIO.setmode(GPIO.BOARD)
GPIO.setup(12, GPIO.IN)
print(f"Pin 12: {GPIO.input(12)}")
GPIO.cleanup()

3. PWM 控制(舵机/LED)

import Hobot.GPIO as GPIO
import time

GPIO.setmode(GPIO.BOARD)
GPIO.setup(32, GPIO.OUT)
pwm = GPIO.PWM(32, 50)       # 50Hz = 舵机标准频率
pwm.start(7.5)               # 中位(占空比 7.5%)
time.sleep(1)
pwm.ChangeDutyCycle(2.5)     # 0°
time.sleep(1)
pwm.ChangeDutyCycle(12.5)    # 180°
time.sleep(1)
pwm.stop()
GPIO.cleanup()

v3.4.1+ 支持多路 PWM 同时输出。

4. I2C 扫描与读写

ls /dev/i2c-*                             # 查看总线
sudo i2cdetect -y 1                       # 扫描总线 1
sudo i2cget -y 1 0x48 0x00               # 读寄存器
sudo i2cset -y 1 0x48 0x01 0xFF          # 写寄存器

5. SPI 通信

ls /dev/spidev*
pip3 install spidev
import spidev
spi = spidev.SpiDev()
spi.open(0, 0)
spi.max_speed_hz = 1000000
resp = spi.xfer2([0x01, 0x02, 0x03])
print(resp)
spi.close()

6. UART 串口

ls /dev/ttyS*
import serial
ser = serial.Serial('/dev/ttyS1', 115200, timeout=1)
ser.write(b'Hello RDK X5\n')
print(ser.readline())
ser.close()

7. CAN 总线

sudo ip link set can0 type can bitrate 500000
sudo ip link set can0 up
cansend can0 123#DEADBEEF          # 发送
candump can0                       # 接收

/app/40pin_samples 示例

cd /app/40pin_samples
sudo python3 simple_out.py         # GPIO 输出
sudo python3 simple_pwm.py         # PWM
sudo python3 button_event.py       # 按钮事件
sudo python3 test_i2c.py           # I2C
sudo python3 test_spi.py           # SPI
sudo python3 test_serial.py        # UART

排查故障

现象原因解决
------------------
Permission denied未用 sudo 或引脚被占用sudo 运行脚本
I2C 扫描无设备总线未启用或接线错误srpi-config 启用 I2C;检查 SDA/SCL 接线
PWM 无输出引脚复用冲突srpi-config 确认引脚已配置为 PWM 功能
CAN 无法 up内核模块未加载sudo modprobe can_raw;检查 /boot/config.txt

版本历史

共 1 个版本

  • v1.0.0 当前
    2026-03-29 23:01 安全 安全

安全检测

腾讯云安全 (Keen)

安全,无风险
查看报告

腾讯云安全 (Sanbu)

安全,无风险
查看报告

🔗 相关推荐

developer-tools

Gog

steipete
Google Workspace 命令行工具,支持 Gmail、日历、云端硬盘、通讯录、表格和文档。
★ 921 📥 185,946
ai-intelligence

Rdk X5 App

katherineedwards2475
运行 RDK X5 /app 目录下的预装示例程序:12 个 Python AI 推理 demo(YOLO/分类/分割/Web展示)、40pin GPIO 示例、C++ 多媒体示例(编解码/RTSP/VIO)、查看 34 个预装 BPU 模
★ 0 📥 618
developer-tools

CodeConductor.ai

larsonreever
AI驱动平台,提供快速全栈开发、智能体、工作流自动化及低代码AI集成的可扩展产品创建。
★ 68 📥 180,546