RK3576开发板GPIO驱动入门教程,基于触觉智能开发板教学-上
📅 2026/7/14 5:25:08
👁️ 次浏览
触觉智能Purple Pi OH2开发板板载双20Pin的GPIO排针(兼容树莓派)提供了丰富的拓展空间。本文基于Purple Pi OH2为大家讲解GPIO概念、原理、代码示例、调试方法灯。一、GPIO基本概念1.1什么是GPIOGPIOGeneral Purpose Input/Output通用输入输出是嵌入式系统中最基础的外设接口。每个GPIO引脚可以被配置为•输入模式读取外部信号如按键、传感器•输出模式控制外部设备如LED、继电器•中断模式检测边沿变化触发中断1.2 RK3576 GPIO资源RK3576芯片共有5组GPIOGPIO0~GPIO4每组包含32个引脚A0-A7, B0-B7, C0-C7, D0-D7。从设备树可以看到gpio0 gpio0; gpio1 gpio1; gpio2 gpio2; gpio3 gpio3; gpio4 gpio4;1.3 GPIO命名规则RK平台使用GPIOx_PYz的命名方式•x: GPIO组号0-4•Y:端口A、B、C、D•z:引脚号0-7例如GPIO0_PB4表示GPIO0组的B端口第4号引脚二、GPIO工作原理2.1内部结构2.2工作模式模式说明典型应用输入模式高阻态读取外部电平按键检测输出模式驱动外部电路LED控制中断模式边沿/电平触发事件通知复用模式作为其他功能UART/I2C等引脚复用三、GPIO设备树配置3.1在设备树中添加GPIO节点编辑设备树文件如ido-evb7609-v1a.dtsi// 定义 LED 设备节点 / { leds: leds { status okay; compatible gpio-leds; pinctrl-names default; pinctrl-0 leds_gpio; work_led: work { gpios gpio4 RK_PC7 GPIO_ACTIVE_HIGH; linux,default-trigger heartbeat; }; hub_rst { gpios gpio4 RK_PD0 GPIO_ACTIVE_HIGH; default-stateon; }; }; // USB 电源控制 cgpio:cgpios{ status okay; compatible cust,cgpio; usb_pwr { //SD-card、USB-A、Wi-Fi gpios gpio0 RK_PB6 GPIO_ACTIVE_HIGH; init-status 1; }; }; };3.2 pinctrl 引脚配置pinctrl { // LED 引脚配置 led_pins: led-pins { rockchip,pins 0 RK_PB4 RK_FUNC_GPIO pcfg_pull_none; }; // 按键引脚配置 key_pins: key-pins { rockchip,pins 0 RK_PA0 RK_FUNC_GPIO pcfg_pull_up; }; };3.3 GPIO上下拉配置详解RK3576的GPIO支持多种上下拉配置通过rockchip,pins属性的最后一个参数指定。上下拉配置类型配置设备树值说明典型应用上拉pcfg_pull_up引脚默认上拉到高电平按键输入、I2C SDA/SCL下拉pcfg_pull_down引脚默认下拉到低电平复位信号、使能信号无上下拉pcfg_pull_none浮空输入无上拉电阻LED输出、GPIO输出保持pcfg_pull_bus总线保持器低功耗场景实际设备树配置示例pinctrl { /* LED 引脚 - 无上拉输出模式不需要 */ leds_gpio: leds-gpio { rockchip,pins 4 RK_PC7 RK_FUNC_GPIO pcfg_pull_none, /* work_led */ 4 RK_PD0 RK_FUNC_GPIO pcfg_pull_none; /* hub_rst */ }; /* USB 电源 - 无上拉 */ usb_pwr: usb-pwr { rockchip,pins 0 RK_PB6 RK_FUNC_GPIO pcfg_pull_none; }; /* 耳机检测 - 上拉按键检测 */ hp_det: hp-det { rockchip,pins 3 RK_PB0 RK_FUNC_GPIO pcfg_pull_up; }; /* WiFi 唤醒 - 下拉 */ wifi_host_wake_irq: wifi-host-wake-irq { rockchip,pins 0 RK_PB0 RK_FUNC_GPIO pcfg_pull_down; }; /* 按键输入 - 上拉 */ adc_keys_pins: adc-keys-pins { rockchip,pins 0 RK_PA0 RK_FUNC_GPIO pcfg_pull_up; }; /* I2C 引脚 - 上拉I2C 标准需要 */ i2c2m0_xfer: i2c2m0-xfer { rockchip,pins 1 RK_PB3 9 pcfg_pull_up, /* i2c2_sda_m0 */ 1 RK_PB4 9 pcfg_pull_up; /* i2c2_scl_m0 */ }; };上下拉选择原则注意事项1.输出模式通常使用pcfg_pull_none因为GPIO输出是推挽驱动2.输入按键必须使用pcfg_pull_up确保按键未按下时读到高电平3.I2C总线必须使用pcfg_pull_upI2C是开漏输出需要上拉电阻4.中断引脚根据触发方式选择上升沿触发用下拉下降沿触发用上拉今天就先写到这里 下期带来驱动代码示例和调试方法 以及常见问题解决
在日常电脑使用中,驱动问题总是让人头疼——系统更新后声卡没声音了,新买的打印机连不上,游戏帧数上不去,这些问题背后往往都是驱动程序在作祟。更让人烦恼的是,很多驱动管理软件要么下载速度慢如蜗牛,要么…
📅 2026/7/14 5:25:08
KMS_VL_ALL_AIO:3分钟快速激活Windows系统的完整指南 【免费下载链接】KMS_VL_ALL_AIO Smart Activation Script 项目地址: https://gitcode.com/gh_mirrors/km/KMS_VL_ALL_AIO
还在为Windows系统激活而烦恼吗?每次开机看到那个烦人的激活提醒&am…
📅 2026/7/14 5:25:08
DownGit:为什么这是GitHub精准下载的终极解决方案?3分钟快速上手指南 【免费下载链接】DownGit github 资源打包下载工具 项目地址: https://gitcode.com/gh_mirrors/dow/DownGit
还在为下载GitHub整个仓库而烦恼吗?面对庞大的开源项目…
📅 2026/7/14 5:25:08
很多老板在选型时只看表面功能,却忽略了底层架构的稳定性,导致后期维护成本翻倍。本文通过真实项目复盘,拆解_uasaform1geo在实际落地中的价格陷阱与技术雷区,帮你省下至少30%的冤枉钱。别再被销售话术忽悠了,数据不会撒谎,只有踩过坑的人才懂其中的痛。先说个真事。去年…
📅 2026/7/14 7:04:48
1. 项目概述:当Keystore密码成为Unity安卓打包的“拦路虎”如果你正在用Unity开发安卓应用,并且已经走到了最后一步——打包发布,那么“Keystore密码无效”这个报错,很可能就是你此刻最不想看到的东西。它就像一个守门员ÿ…
📅 2026/7/14 7:04:40
1. Windows显示语言修改报错现象解析最近在帮同事处理Windows系统语言切换问题时,遇到了经典的"无法获取此Windows显示语言"报错。这个看似简单的操作背后,其实隐藏着Windows Update服务的复杂工作机制。当你在"设置-时间和语言-语言&quo…
📅 2026/7/14 7:04:40
1. 项目概述:一场关于国家公园生物多样性的真实“体检”我干了十多年生态数据分析师,经手过三十多个国家级自然保护区的长期监测项目,也给七八个省级林草局做过物种保护优先级评估。说实话,看到这个“国家公园生物多样性项目”的原…
📅 2026/7/14 7:04:40
1. 离线部署OpenSSH的必要性与场景分析在真实的运维环境中,我们经常会遇到这样的困境:一台全新的Ubuntu服务器位于物理隔离的内网机房,既没有配置网络连接,也无法直接通过apt-get安装基础服务。此时若需要实现远程管理,…
📅 2026/7/14 7:04:40
1. 当显卡驱动"离家出走":Ubuntu重启后的常见症状刚装好的NVIDIA驱动明明能用,一重启就"失联"?这种场景我见过太多次了。最典型的症状就是输入nvidia-smi后,终端冷漠地抛出一句:"NVIDIA-SMI …
📅 2026/7/14 7:04:40
从“创始人投影”到“真理映射”——大语言模型认知本质的哲学批判与范式重构
摘要
当前全球主流大语言模型(LLMs)在技术指标上持续突破,却在认知本质上陷入了一种根本性的“搞反”状态:它们本应成为人类超越自身认知局限的“传…
📅 2026/7/14 0:00:05
Hadoop 3.2.2 JDK 21 Windows开发环境全流程实战指南对于需要在Windows环境下进行大数据开发的Java/Scala开发者来说,搭建一个本地Hadoop开发环境是入门的第一步。本文将带你从零开始,完成Hadoop 3.2.2与JDK 21的环境搭建,并实现一个完整的M…
📅 2026/7/14 0:00:05
1. 项目概述:为什么你需要Boost库? 如果你用C写过一些项目,尤其是涉及到网络、并发、文件系统或者需要处理一些复杂数据结构时,大概率会听过或者用过Boost库。它不是C标准库的一部分,但它在C社区的地位,几…
📅 2026/7/14 0:00:05
豆包openclaw最近圈子里都在聊豆包openclaw,我也没忍住,掏腰包入手了一套。说实话,刚拿到手的时候,心里是打鼓的。毕竟市面上类似的智能硬件太多了,有的吹得天花乱坠,用起来却是一堆bug。为了不让大家的钱打水漂,我连续用了半个月。从开箱到日常高频使用,甚至故意测试它…
📅 2026/7/14 6:35:02
SQLyog 13.3.1 社区版在Windows 10/11上的完整安装与连接指南 对于刚接触MySQL数据库管理的开发者和学生来说,选择一个直观易用的图形化管理工具至关重要。SQLyog作为一款轻量级但功能强大的MySQL GUI工具,能够显著提升数据库操作的效率和体验。本文将详…
📅 2026/7/13 6:21:22
SPEC CPU 2006 跨平台基准测试深度实战:ARM/X86/MIPS 架构配置优化与结果分析方法论在当今多元化的计算架构时代,如何客观评估不同处理器平台的真实性能成为系统工程师和性能优化专家的核心挑战。SPEC CPU 2006 作为业界公认的计算密集型基准测试套件&am…
📅 2026/7/13 7:10:30
目录
第一步:选对模板,省心一半
第二步:打开扫码点餐功能
开启功能按钮
桌台管理与桌码生成
第三步:个性化设计,打造品牌感
调整点餐页面
设置点餐规则 你还在让顾客站着排队点餐吗?2025年ÿ…
📅 2026/7/13 3:29:47
在业务中快速构建一个能理解私有文档、准确回答专业问题的智能助手,是很多开发团队面临的共同挑战。传统方案往往需要从零开始搭建复杂的 RAG(检索增强生成)系统,涉及文档解析、向量化、检索、大模型调用等多个环节,整…
📅 2026/7/13 19:47:36
FAE放射组学分析工具:医学影像特征探索的完整解决方案 【免费下载链接】FAE FeAture Explorer 项目地址: https://gitcode.com/gh_mirrors/fae/FAE
你是否曾经面对海量医学影像数据感到无从下手?想要从CT、MRI等影像中提取有价值的定量特征&#…
📅 2026/7/13 9:07:16