Pinctrl学习2(基于树莓派5)(TODO)
Pinctrl学习_pinctrl头文件-CSDN博客TODO1 树莓派的pinctrl命令运行了rasp-gpio get结果如下piraspberrypi:~/led_drv4$ raspi-gpio get BANK0 (GPIO 0 to 27): GPIO 0: level1 funcINPUT GPIO 1: level1 funcINPUT GPIO 2: level1 funcINPUT GPIO 3: level1 funcINPUT GPIO 4: level1 funcINPUT GPIO 5: level1 funcINPUT GPIO 6: level1 funcINPUT GPIO 7: level1 funcOUTPUT GPIO 8: level1 funcOUTPUT GPIO 9: level0 alt0 funcSPI0_MISO GPIO 10: level0 alt0 funcSPI0_MOSI GPIO 11: level0 alt0 funcSPI0_SCLK GPIO 12: level0 funcINPUT GPIO 13: level0 funcINPUT GPIO 14: level1 alt0 funcTXD0 GPIO 15: level1 alt0 funcRXD0 GPIO 16: level0 funcINPUT GPIO 17: level0 funcINPUT GPIO 18: level0 funcINPUT GPIO 19: level0 funcINPUT GPIO 20: level0 funcINPUT GPIO 21: level0 funcINPUT GPIO 22: level0 funcINPUT GPIO 23: level0 funcINPUT GPIO 24: level0 funcINPUT GPIO 25: level0 funcINPUT GPIO 26: level0 funcINPUT GPIO 27: level0 funcINPUT BANK1 (GPIO 28 to 45): GPIO 28: level0 funcINPUT GPIO 29: level1 funcINPUT GPIO 30: level0 funcINPUT GPIO 31: level0 funcINPUT GPIO 32: level1 funcINPUT GPIO 33: level1 funcINPUT GPIO 34: level1 alt3 funcSD1_CLK GPIO 35: level1 alt3 funcSD1_CMD GPIO 36: level1 alt3 funcSD1_DAT0 GPIO 37: level1 alt3 funcSD1_DAT1 GPIO 38: level1 alt3 funcSD1_DAT2 GPIO 39: level1 alt3 funcSD1_DAT3 GPIO 40: level0 alt0 funcPWM0 GPIO 41: level0 alt0 funcPWM1 GPIO 42: level0 alt0 funcGPCLK1 GPIO 43: level1 alt0 funcGPCLK2 GPIO 44: level1 funcINPUT GPIO 45: level1 funcINPUT BANK2 (GPIO 46 to 53): GPIO 46: level1 funcINPUT GPIO 47: level1 funcOUTPUT GPIO 48: level0 alt0 funcSD0_CLK GPIO 49: level1 alt0 funcSD0_CMD GPIO 50: level1 alt0 funcSD0_DAT0 GPIO 51: level1 alt0 funcSD0_DAT1 GPIO 52: level1 alt0 funcSD0_DAT2 GPIO 53: level1 alt0 funcSD0_DAT3 [ raspi-gpio is deprecated - try pinctrl instead ]看介绍说的是可以用pinctrl来替代试试看呢piraspberrypi:~/led_drv4$ pinctrl 0: ip -- | hi // ID_SDA/GPIO0 input 1: ip -- | hi // ID_SCL/GPIO1 input 2: ip -- | hi // GPIO2 input 3: ip -- | hi // GPIO3 input 4: ip -- | hi // GPIO4 input 5: ip -- | hi // GPIO5 input 6: ip -- | hi // GPIO6 input 7: op -- -- | hi // GPIO7 output 8: op -- -- | hi // GPIO8 output 9: a0 -- | lo // GPIO9 SPI0_MISO 10: a0 -- | lo // GPIO10 SPI0_MOSI 11: a0 -- | lo // GPIO11 SPI0_SCLK 12: ip -- | lo // GPIO12 input 13: ip -- | lo // GPIO13 input 14: a0 -- | lo // GPIO14 TXD0 15: a0 -- | hi // GPIO15 RXD0 16: ip -- | lo // GPIO16 input 17: ip -- | lo // GPIO17 input 18: ip -- | lo // GPIO18 input 19: ip -- | lo // GPIO19 input 20: ip -- | lo // GPIO20 input 21: ip -- | lo // GPIO21 input 22: ip -- | lo // GPIO22 input 23: ip -- | lo // GPIO23 input 24: ip -- | lo // GPIO24 input 25: ip -- | lo // GPIO25 input 26: ip -- | lo // GPIO26 input 27: ip -- | lo // GPIO27 input 28: ip -- | lo // NC/GPIO28 input 29: ip -- | hi // LAN_RUN_BOOT/GPIO29 input 30: ip -- | lo // CTS0/GPIO30 input 31: ip -- | lo // RTS0/GPIO31 input 32: ip -- | hi // TXD0/GPIO32 input 33: ip -- | hi // RXD0/GPIO33 input 34: a3 -- | lo // SD1_CLK/GPIO34 SD1_CLK 35: a3 -- | hi // SD1_CMD/GPIO35 SD1_CMD 36: a3 -- | hi // SD1_DATA0/GPIO36 SD1_DAT0 37: a3 -- | hi // SD1_DATA1/GPIO37 SD1_DAT1 38: a3 -- | hi // SD1_DATA2/GPIO38 SD1_DAT2 39: a3 -- | hi // SD1_DATA3/GPIO39 SD1_DAT3 40: a0 -- | lo // PWM0_OUT/GPIO40 PWM0 41: a0 -- | lo // PWM1_OUT/GPIO41 PWM1 42: a0 -- | hi // ETH_CLK/GPIO42 GPCLK1 43: a0 -- | hi // WIFI_CLK/GPIO43 GPCLK2 44: ip -- | hi // SDA0/GPIO44 input 45: ip -- | hi // SCL0/GPIO45 input 46: ip -- | hi // SMPS_SCL/GPIO46 input 47: op -- -- | hi // SMPS_SDA/GPIO47 output 48: a0 -- | lo // SD_CLK_R/GPIO48 SD0_CLK 49: a0 -- | hi // SD_CMD_R/GPIO49 SD0_CMD 50: a0 -- | hi // SD_DATA0_R/GPIO50 SD0_DAT0 51: a0 -- | hi // SD_DATA1_R/GPIO51 SD0_DAT1 52: a0 -- | hi // SD_DATA2_R/GPIO52 SD0_DAT2 53: a0 -- | hi // SD_DATA3_R/GPIO53 SD0_DAT3我在GPIO 26口接了一个LED一个命令直接亮目前没有比它更简单快速的。sudo pinctrl set 26 dh2 Pinctrl的位置这里主要是和其它子系统比如GPIOSPII2C子系统的关系。3 树莓派配置Pinctrl的例子3.1 设备树设备树Device Tree是Linux内核用来描述硬件的方式。你可以通过修改设备树来配置引脚。以下是一个简单的示例展示如何在设备树中配置GPIO引脚。1. 安装设备树编译器首先安装设备树编译器sudo apt install device-tree-compiler5.2. 创建设备树源文件创建一个新的设备树源文件例如my_gpio.dts/dts-v1/;/plugin/;/ {compatible brcm,bcm2835;fragment0 {target gpio;__overlay__ {my_gpio: my_gpio {brcm,pins 26;brcm,function 1; // 1 for output, 0 for inputbrcm,pull 0; // 0 for no pull, 1 for pull down, 2 for pull up};};};};5.3. 编译设备树源文件使用设备树编译器将源文件编译为二进制文件dtc - -I dts -O dtb -o my_gpio.dtbo my_gpio.dts5.4. 应用设备树覆盖将编译好的设备树覆盖文件复制到/boot/overlays目录sudo cp my_gpio.dtbo /boot/overlays/然后编辑/boot/config.txt文件添加以下行以应用设备树覆盖dtoverlaymy_gpio重启树莓派以应用更改sudo reboot6. 验证配置重启后你可以使用raspi-gpio工具再次查看引脚配置确保更改已生效raspi-gpio get 262 驱动切换

相关新闻

MCP协议规范

MCP协议规范

摘要:随着大语言模型(LLM)生态向 Agent(智能体)与复杂工具调用(Tool Calling)深度演进,如何让 AI 客户端(如 Claude Desktop、Cursor、VS Code)与海量外部数据…

2026/10/13 19:33:25 阅读更多 →
MySQL 硬核漫游指南:解锁数据存储界的 “顶流” 密码

MySQL 硬核漫游指南:解锁数据存储界的 “顶流” 密码

一、MySQL 到底是什么?MySQL 是一款开源的关系型数据库管理系统(RDBMS),由瑞典 MySQL AB 公司开发,目前隶属于 Oracle 公司。它基于结构化查询语言(SQL)进行数据管理,将数据按照 “库…

2026/9/28 21:20:13 阅读更多 →
解决研发需求乱象,华为落地经验全公开!

解决研发需求乱象,华为落地经验全公开!

什么是市场上成功的产品? 也许华为人常说的那句话可以回答:“在客户恰好要的时候,你恰好推出来,而且恰好满足客户需求,相比竞争对手更有竞争力,那就是最伟大的。” 这就告诉我们,想要做出成功…

2026/10/6 2:44:15 阅读更多 →

最新新闻

Oracle 实战速查:表空间、索引与 PL/SQL 避坑指南

Oracle 实战速查:表空间、索引与 PL/SQL 避坑指南

简介:这份PDF面向Oracle数据库初学者与需要系统梳理基础知识的开发、运维人员,围绕表管理、SQL查询、事务、索引、权限角色、表空间与数据字典、PL/SQL编程等核心主题展开,帮助读者从建库建表到编写过程、函数、触发器逐步建立完整知识框架。…

2026/10/13 23:00:15 阅读更多 →
华中杯B题实战指南:拆题建模、代码复现与论文写作全流程

华中杯B题实战指南:拆题建模、代码复现与论文写作全流程

简介:针对2025年华中杯B题(结肠癌基因表达数据分析)的完整论文与代码结果文档,面向数学建模竞赛参赛者、指导教师及生物信息学方向学习者。压缩包内为单个docx文件,大小约4.33MB,内容涵盖论文正文、模型代码…

2026/10/13 23:00:15 阅读更多 →
LiteLLM实战指南:统一大模型API网关,破解多模型接入难题

LiteLLM实战指南:统一大模型API网关,破解多模型接入难题

1. 为什么需要LiteLLM:多模型时代的API调用痛点1.1 各家大模型API带来的集成成本我在公司负责一个内部AI平台,最开始只接了一个模型服务商,一切都很美好:按官方文档写个小demo,跑通对话、总结、翻译几个场景&#xff0…

2026/10/13 23:00:15 阅读更多 →
Windows DLL动态加载:GetProcAddress返回127错误与CALLBACK宏的调用约定陷阱

Windows DLL动态加载:GetProcAddress返回127错误与CALLBACK宏的调用约定陷阱

1. 一个返回值0引发的深夜排查如果你在Windows平台做过动态库加载相关的开发,大概率见过GetProcAddress返回NULL的场景。常规思路无非是函数名拼错了、DLL没加载成功、导出符号被修饰了这几种。但有一种情况特别折磨人:DLL明明加载成功了,函数…

2026/10/13 23:00:15 阅读更多 →
用VS Code精准清理AppData释放磁盘空间

用VS Code精准清理AppData释放磁盘空间

1. 项目概述:当C盘告急,AppData不是“黑箱”,而是可读的诊断报告你有没有在某天打开电脑,突然发现C盘只剩不到5GB可用空间,系统托盘右下角弹出刺眼的红色警告图标?那一刻,手指已经悬在了“此电脑…

2026/10/13 23:00:15 阅读更多 →
GRP-U8行政事业版数据库部署与运维:从选型到备份恢复的实战指南

GRP-U8行政事业版数据库部署与运维:从选型到备份恢复的实战指南

简介:无论是日常余额核对、凭证追溯,还是年末结转时清理数据,面对GRP-U8行政事业版庞大的数据库常常让人无从下手。这份资料面向用友GRP-U8财务软件的运维实施与行政事业单位信息化人员,集中梳理出真正核心的四张业务表——GL_Yeb…

2026/10/13 22:59:15 阅读更多 →

日新闻

物联网系统集成避坑指南:从选型到验收的关键要点

物联网系统集成避坑指南:从选型到验收的关键要点

做了这么多年物联网系统集成的项目,我最大的感受是,大部分坑不是出在技术前沿,而是出在一些看起来很平常的地方。设备选了便宜的、协议没问清楚、现场没摸透、验收标准写得含糊——这些细枝末节,最后都会变成延期、超支和扯皮的大…

2026/10/13 0:00:57 阅读更多 →
ESP32舵机控制全攻略:从PWM原理到高级玩法与常见故障排查

ESP32舵机控制全攻略:从PWM原理到高级玩法与常见故障排查

如果你玩ESP32有一阵子了,很难不碰到舵机控制这道坎。做智能小车要转方向,做机械臂要抬关节,做云台要偏航俯仰,背后都是同一个东西在干活:舵机。而我见过太多人卡在“代码能编译、舵机就是不听话”这个阶段&#xff0c…

2026/10/13 0:00:57 阅读更多 →
CAN总线原理与STM32实战:抗干扰、仲裁、错误处理全解析

CAN总线原理与STM32实战:抗干扰、仲裁、错误处理全解析

1. 为什么CAN总线至今仍是工业现场的“硬通货”?——从汽车底盘到智能温室的真实需求你有没有拆过一辆老款燃油车的中控台?或者调试过某高校实验室里那台跑着Modbus协议却频频丢帧的PLC控制柜?又或者,在某个农业物联网项目里&…

2026/10/13 0:00:57 阅读更多 →

周新闻

流感时间序列预测实战:ARIMA/LSTM全流程拆解与避坑指南

流感时间序列预测实战:ARIMA/LSTM全流程拆解与避坑指南

简介:基于 ARIMA、LSTM、Transformer 等模型的流感时间序列预测 Python 源码,面向计算机相关专业课程设计与期末大作业学生,以及项目实战学习者。内容覆盖预处理、平稳性检验、定阶、残差分析、多模型对比预测的完整时序建模流程,…

2026/10/13 2:54:56 阅读更多 →
影刀RPA新手教程:键盘模拟输入实战——输入文本与模拟按键的区别

影刀RPA新手教程:键盘模拟输入实战——输入文本与模拟按键的区别

影刀RPA新手教程:键盘模拟输入实战——输入文本与模拟按键的区别 做影刀RPA自动化,十个新手有八个栽在"往输入框里填东西"这件事上:要么填不进去,要么填了一半,要么直接把原来内容追加在后面。这背后的根因&…

2026/10/13 16:22:04 阅读更多 →
影刀RPA新手教程:阅文起点小说数据采集实战——书籍信息与章节内容

影刀RPA新手教程:阅文起点小说数据采集实战——书籍信息与章节内容

影刀RPA新手教程:阅文起点小说数据采集实战——书籍信息与章节内容 1. 认识影刀:什么场景该用RPA采小说数据 起点中文网的页面结构相对稳定——分类榜单、书籍详情、章节内容三块独立页面,跳转链路清晰。这种场景非常适合影刀自动化&#x…

2026/10/13 1:58:08 阅读更多 →

月新闻

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/13 22:01:27 阅读更多 →
Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/13 14:57:39 阅读更多 →
黑夜航拍船只数据集训练YOLOV5模型全流程解析

黑夜航拍船只数据集训练YOLOV5模型全流程解析

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/12 18:11:17 阅读更多 →