linux笔记(4):东山哪吒开发板(D1-H)测试gpio点亮LED

news2025/2/26 22:48:18

文章目录

  • 1.控制gpio电平高低的流程
    • 1.1 选PB2控制LED,对应的编号是GPIO34
    • 1.2 进入目录 /sys/class/gpio
    • 1.3 生成gpio34目录
    • 1.4 进入gpio34目录
    • 1.5 设置IO方向为输出
    • 1.6 控制gpio34(PB2)电平高低
  • 附录:linux的GPIO编号和D1-H的IO对用关系

参考文档:
1.作者:eydwyz,文章:《 用Rust探索RISC-V主板D1之GPIO》
2.全志官方文档: https://open.allwinnertech.com/#/doc?menuID=2&projectId=264
在这里插入图片描述

1.控制gpio电平高低的流程

1.1 选PB2控制LED,对应的编号是GPIO34

在这里插入图片描述

1.2 进入目录 /sys/class/gpio

cd /sys/class/gpio

查看目录内容:

> ls -l
total 0
--w-------    1 root     root          4096 Jan  1 00:00 export
lrwxrwxrwx    1 root     root             0 Jan  1 00:00 gpiochip0 -> ../../devi                                              ces/platform/soc@3000000/2000000.pinctrl/gpio/gpiochip0
--w-------    1 root     root          4096 Jan  1 00:00 unexport

1.3 生成gpio34目录

> echo 34 > export
> ls
export     gpio34     gpiochip0  unexport

1.4 进入gpio34目录

> cd gpio34
> ls
active_low            edge                  uevent
device                power                 value
direction             subsystem             waiting_for_supplier

1.5 设置IO方向为输出

> echo "out" > direction //控制gpio变为输出功能

1.6 控制gpio34(PB2)电平高低

> echo 1 > value //在output模式下,输出低电平
> echo 0 > value //在output模式下,输出高电平

在这里插入图片描述

附录:linux的GPIO编号和D1-H的IO对用关系

首先要挂载调试工具debugfs:

mount -t debugfs none /sys/kernel/debug

然后就可以通过下面的命令获取这个表格:

cat /sys/kernel/debug/pinctrl/2000000.pinctrl/pins

pin 32 (PB0)
pin 33 (PB1)
pin 34 (PB2)
pin 35 (PB3)
pin 36 (PB4)
pin 37 (PB5)
pin 38 (PB6)
pin 39 (PB7)
pin 40 (PB8)
pin 41 (PB9)
pin 42 (PB10)
pin 43 (PB11)
pin 44 (PB12)
pin 64 (PC0)
pin 65 (PC1)
pin 66 (PC2)
pin 67 (PC3)
pin 68 (PC4)
pin 69 (PC5)
pin 70 (PC6)
pin 71 (PC7)
pin 96 (PD0)
pin 97 (PD1)
pin 98 (PD2)
pin 99 (PD3)
pin 100 (PD4)
pin 101 (PD5)
pin 102 (PD6)
pin 103 (PD7)
pin 104 (PD8)
pin 105 (PD9)
pin 106 (PD10)
pin 107 (PD11)
pin 108 (PD12)
pin 109 (PD13)
pin 110 (PD14)
pin 111 (PD15)
pin 112 (PD16)
pin 113 (PD17)
pin 114 (PD18)
pin 115 (PD19)
pin 116 (PD20)
pin 117 (PD21)
pin 118 (PD22)
pin 128 (PE0)
pin 129 (PE1)
pin 130 (PE2)
pin 131 (PE3)
pin 132 (PE4)
pin 133 (PE5)
pin 134 (PE6)
pin 135 (PE7)
pin 136 (PE8)
pin 137 (PE9)
pin 138 (PE10)
pin 139 (PE11)
pin 140 (PE12)
pin 141 (PE13)
pin 142 (PE14)
pin 143 (PE15)
pin 144 (PE16)
pin 145 (PE17)
pin 160 (PF0)
pin 161 (PF1)
pin 162 (PF2)
pin 163 (PF3)
pin 164 (PF4)
pin 165 (PF5)
pin 166 (PF6)
pin 192 (PG0)
pin 193 (PG1)
pin 194 (PG2)
pin 195 (PG3)
pin 196 (PG4)
pin 197 (PG5)
pin 198 (PG6)
pin 199 (PG7)
pin 200 (PG8)
pin 201 (PG9)
pin 202 (PG10)
pin 203 (PG11)
pin 204 (PG12)
pin 205 (PG13)
pin 206 (PG14)
pin 207 (PG15)
pin 208 (PG16)
pin 209 (PG17)
pin 210 (PG18)

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/9726.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【vue】Jeecg框架使用过程中的注意事项:

文章目录1.连接后台地址:2.获取接口数据时:3.模糊查询:4.设置默认查询参数:5.数据字典:6.j-date显示时分秒:7.设置添加、编辑、删除、导入等按钮的显示与隐藏(按钮权限)8.设置列的显…

艾美捷NCTC-135培养基改良版(粉末)相关研究和类别

细胞培养基是生物制药生产的最关键原材料之一,是人工模拟细胞在休内生长的营养环境,提供细胞营养和促进细胞生长增殖的物质基础。培养基主要也括有血清培养基、无血清细胞培养基、化学限定培养基。 无血清细胞培养基的发明是培养基发展史的一个里程碑。无…

如何一键生成活动邀请函的分享链接?

想设计一个活动邀请函但不会编程怎么办?想制作个能播放视频的邀请函要怎么做?今天小编就教你如何使用在线工具乔拓云去制作一个活动邀请函,不仅不用编程而且还有模板能一键套用,下面小编就教你如何使用这个在线工具去制作一个活动…

MongoDB学习二:基本常用命令--增删改查

基本常用命令 查看当前正在使用的数据库命令 db 另外: 数据库名可以是满足以下条件的任意UTF-8字符串。 不能是空字符串(“”)。 不得含有’ (空格)、.、$、/、\和\0 (空字符)。 应全部小写。 最多64字节。 有一些数据库名是保留的&#xff…

C语言无法实现的泛型编程,C++是如何实现的?模板

1.泛型编程 如何实现一个通用的交换函数? void Swap(int& left, int& right) {int temp left;left right;right temp; } void Swap(double& left, double& right) {double temp left;left right;right temp; } void Swap(char& left, c…

rt-thread 之------fal移植

rt-thread 之 fal移植 提示:写完文章后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录rt-thread 之 fal移植前言一、fal是什么?二、移植1.片内flash fal移植step1:使能RT-Thread Components--->中的fal选…

MySQL查询优化实例

| 导语 通过几个小实例,对实际会经常用到的查询进行对比,通过MySQL的执行计划分析语句的执行性能,最后分析几个在实际中会遇到的小问题。 我们知道一般应用系统的读写比列在10:1左右,而且插入操作和一般的更新操作很少出现性能问…

jenkins的安装与配置(超详细)

Jenkins官网:https://jenkins.io/ 或 https://www.jenkins.io/zh/download/Jenkins官网文档:https://www.jenkins.io/zh/doc/jenkins安装包:http://mirrors.tuna.tsinghua.edu.cn/jenkins/redhat/清华镜像:http://updates.jenkins…

SpringMVC学习篇(六)

SpringMVC之全局异常的处理 1 注解方式 1.1 准备工作 1.1.1 导入springmvc依赖和lombok依赖 <dependencies><dependency><groupId>org.springframework</groupId><artifactId>spring-webmvc</artifactId><version>5.3.22</ve…

Nginx实现四层代理与七层代理

目录 一、实验环境准备 1、准备三台服务器 2、安装nginx环境 3、启动nginx环境 二、设置Nginx七层代理 1、proxy代理服务器配置&#xff08;轮询&#xff09; 2、设置加权轮询 3、健康检测功能 4、解决重复登录问题&#xff08;源地址哈希ip_hash&#xff09; 三、设…

StarRocks从入门到精通系列五:导入数据

StarRocks从入门到精通系列五:导入数据 一、导入总览二、从 Apache Kafka 持续导入三、使用 Apache Spark™ 批量导入四、从 Apache Flink持续导入一、导入总览 下图详细展示了在各种数据源场景下,应该选择哪一种导入方式。 数据导入是指将原始数据按照业务需求进行清洗、…

Springboot常用参数注解

访问路径为http://localhost:8080/ PathVariable GetMapping("/get/{id}/blank/{name}")public Map getValue(PathVariable("id") Integer id,PathVariable("name") String name,PathVariable Map<String,String> kv){Map map new Hash…

在Jeston NX上部署运行PaddleOCR教程(安装whl包方法)

文章目录基本概念介绍1.确定盒子环境pythonCUDAcuDNNTensorRT版本1.1 我还没有安装环境&#xff1a;一步到位整体安装1.2 我已经安装了环境&#xff1a;查询盒子环境版本1.3 默认python版本设置2.安装PaddlePaddle3. 安装PaddleOCR4. 运行例程5. 后续工作附&#xff1a;参考教程…

Java---Arrays类的常用方法

目录 1&#xff1a;Arrays常用的API方法 2&#xff1a;API方法具体举例 &#xff08;1&#xff09;toString方法 &#xff08;2&#xff09;sort方法 &#xff08;3&#xff09;binarySearch方法 &#xff08;4&#xff09;fill方法 &#xff08;5&#xff09;copyOf方法 …

如何在自己的项目中实现脚手架的命令行交互

背景 所在的公司大多数项目都是用Taro脚手架搭建的&#xff0c;因为业务上要实现多端开发 答应我&#xff0c;如果可以千万不要选择跨端开发&#x1f64f;。所以不同环境下运行、打包会有多个命令。如下图所示&#xff1a; 嗯&#xff1f;&#xff1f;好熟悉感觉在哪见过&…

LeetCode刷题(python版)——Topic69. x 的平方根

一、题设 给你一个非负整数 x &#xff0c;计算并返回 x 的 算术平方根 。 由于返回类型是整数&#xff0c;结果只保留 整数部分 &#xff0c;小数部分将被 舍去 。 注意&#xff1a;不允许使用任何内置指数函数和算符&#xff0c;例如 pow(x, 0.5) 或者 x ** 0.5 。 示例 1…

2022年下半年网络规划设计师下午真题及答案解析

1.若系统正在将( )文件修改的结果写回磁盘时系统发生掉电&#xff0c;则对系统的影响相对较大。A.目录 B.空闲块 C.用户程序 D.用户数据 2.采用三级模式结构的数据库系统中&#xff0c;如果对一个表创建聚簇索引&#xff0c;那么改变的是数据库的( )。 A.外模式…

信号(1.信号概念 2.信号的处理方式 3.信号阶段 用户态,内核态)

目录1.临界资源2.临界值3.原子性4.互斥5.什么是信号量6.什么是信号1.信号概念2.信号的处理方式3.信号阶段1.信号使用前&#xff0c;信号的产生2.为什么进程会崩溃3.信号产生中4.信号产生后1.临界资源 被多个进程能够看到看到额资源叫做临界资源 如果没有堆临界资源进任何的保护…

技术分享 | AlertManager 源码解析

作者&#xff1a;石蓓蓓 爱可生研发工程师&#xff0c;主要负责爱可生产品云DMP树产品的研发工作。 本文来源&#xff1a;原创投稿 *爱可生开源社区出品&#xff0c;原创内容未经授权不得随意使用&#xff0c;转载请联系小编并注明来源。 AlertManager 是处理对应用程序的告警的…

ZIP压缩文件的打开密码和自动加密有什么不同?

ZIP是常用的压缩文件格式&#xff0c;对于重要的内容&#xff0c;我们还可以设置密码&#xff0c;从而达到保护文件内容的目的。 通过WinRAR给ZIP文件设置密码保护&#xff0c;可以设置“打开密码”和“自动加密”&#xff0c;那两者有什么不同呢&#xff1f; 设置打开密码是…