Jetsonnano B01 笔记3:GPIO上拉下拉-输入输出读取

今日继续我的jetsonnano学习之路,今日学习的是GPIO的上拉下拉,输入输出的读取,文章贴出完整操作步骤过程,贴出源码。

目录

Linux常用文件命令:

ls(list)列表:

man:

cd(change directory):

运行文件夹中的python程序:

1.使用 cd命令导航进入程序所在文件夹:

2.运行python程序:

GPIO输入的设置与读取:

GPIO的输出设置:

 GPIO引脚上拉下拉设置:


Linux常用文件命令:

ls(list)列表:

把当前文件夹的所有文件显示出来

ls -a :显示所有文件

ls -l :以详细信息显示

可以:ls -la/-al/-a -l/-l -a  这几种方式表达的意思都是:显示所有文件的详细信息

man:

查询man手册,获得帮助信息

man 1 ls :1表示查询的是linux的命令,这里是查询ls命令的用法

man 2 xx :2表示查询的是linux的api

man 3 xx :3表示查询的是c库函数(譬如man 3 strlen)

cd(change directory):

更改目录,用来切换目录

cd / :表示到根目录去

cd .. :返回上一级目录

cd . :在当前目录(我们可以利用ls -a就可以查看到有. 和 .. 这两个文件夹)

cd - :到前一个目录去(也就是你是从哪个目录跳到当前这个目录的,就返回到那个目录去,注意和cd .. 是有区别的)

cd ~ :到当前用户的宿主目录去

运行文件夹中的python程序:

 这里提一下怎么运行文件夹中的py程序,之前笔记中我们都是直接将程序文件拖入home,然后终端不需要指明文件路径就可以运行了,但许多时候我们都将程序文件分类放在文件资源管理器的某些文件夹中,因此需要在原有的基础上加上文件目录:

比如像我这里的俩个程序,它们没有放在home中,而是放在了Home\test 这个目录

这样我们在终端的操作就要分几步了:

1.使用 cd命令导航进入程序所在文件夹:

这里是不断使用cd 命令导航进入文件目录 以及 ls -a 命令查询当前目录文件信息 ,

 

2.运行python程序:

python3 filename.py

GPIO输入的设置与读取:

以下python代码演示的是设置GPIO 37 为输入引脚,并读取其输入

接高电平会打印1,接低会打印0,注意悬空时输出的是上一个获取到的有效高低电平值

import Jetson.GPIO as GPIOinput_pin = 37  GPIO.setwarnings(False)
GPIO.setmode(GPIO.BOARD)
GPIO.setup(input_pin, GPIO.IN)value=GPIO.input(input_pin)print(value)

GPIO的输出设置:

GPIO的输出在笔记2中已经讲过这里不多做解释:

import Jetson.GPIO as GPIOoutput_pin = 37  GPIO.setwarnings(False)
GPIO.setmode(GPIO.BOARD)
GPIO.setup(output_pin, GPIO.OUT,initial=GPIO.HIGH)while True:GPIO.output(output_pin, GPIO.HIGH)time.sleep(1)GPIO.output(output_pin, GPIO.LOW)time.sleep(1)

 

 GPIO引脚上拉下拉设置:

每个GPIO内部都有三种状态,分别使上拉、下拉和不拉。如果是输出模式,一般是设置为不拉状态,而上拉电阻和下拉电阻主要设置于输入模式。


上拉电阻的目的是为了保证在无信号输入时,输入端的电平为高电平。而在信号输入为低电平时,输入端的电平应该也为低电平。


如果没有上拉电阻,在没有外界输入的情况下,输入端是悬空的,它的电平是未知的,而设置上拉电阻就是为了保证无信号输入时输入端的电平为高电平。


下拉电阻则是为了保证无信号输入时输入端的电平为低电平。

import Jetson.GPIO as GPIOinput_pin = 37  GPIO.setwarnings(False)
GPIO.setmode(GPIO.BOARD)
GPIO.setup(input_pin, GPIO.IN,pull_up_down=GPIO.PUD_UP)value=GPIO.input(input_pin)print(value)

 

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

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

相关文章

页面页脚部分CSS分享

先看效果&#xff1a; CSS部分&#xff1a;&#xff08;查看更多&#xff09; <style>body {display: grid;grid-template-rows: 1fr 10rem auto;grid-template-areas: "main" "." "footer";overflow-x: hidden;background: #F5F7FA;min…

有哪些Linux可以替代centerOS的

有哪些Linux可以替代centerOS的 CentOS是一个非常流行的企业级Linux发行版&#xff0c;但是在2020年12月&#xff0c;CentOS宣布将停止提供长期支持&#xff08;LTS&#xff09;版本&#xff0c;这对于很多企业和用户来说是一个巨大的打击。以下是一些可以替代CentOS的Linux发…

如何使用SQL系列 之 如何在MySQL中使用触发器

引言 当使用关系型数据库和结构化查询语言(SQL)时&#xff0c;对数据的大多数操作都是显式执行查询的结果&#xff0c;例如SELECT、INSERT或UPDATE。 然而&#xff0c;SQL数据库也可以被指令在特定事件发生时通过触发器自动执行预定义的操作。例如&#xff0c;您可以使用触发…

【微服务】五. Nacos服务注册

Nacos服务注册 5.1 Nacos服务分级存储模型Nacos服务分级存储模型&#xff1a;服务集群属性&#xff1a;总结&#xff1a; 5.2 根据集群负载均衡总结 5.3 Nacos服务实例的权重设置总结&#xff1a; 5.6 环境隔离namespace总结 5.7 Nacos和Eureka的对比总结 5.1 Nacos服务分级存储…

C#数据类型:object、var和dynamic的比较与应用

文章目录 引言&#xff1a;一、object类型&#xff1a;object类型的使用场景&#xff1a;object类型的限制&#xff1a; 二、var类型&#xff1a;var类型的使用场景&#xff1a;var类型的限制&#xff1a; 三、dynamic类型&#xff1a;dynamic类型的使用场景&#xff1a;dynami…

buildroot中C语言使用libconfig的实例

首先在buildroot中开启libconfig 在config中添加 BR2_PACKAGE_LIBCONFIGy 下面是官方给出来的3个实例 /* ----------------------------------------------------------------------------libconfig - A library for processing structured configuration filesCopyright (…

科技云报道:AI时代,对构建云安全提出了哪些新要求?

科技云报道原创。 随着企业上云的提速&#xff0c;一系列云安全问题也逐渐暴露出来&#xff0c;云安全问题得到重视&#xff0c;市场不断扩大。 Gartner 发布“2022 年中国 ICT 技术成熟度曲线”显示&#xff0c;云安全已处于技术萌芽期高点&#xff0c;预期在2-5年内有望达到…

Material Design系列探究之LinearLayoutCompat

谷歌Material Design推出了许多非常好用的控件&#xff0c;所以我决定写一个专题来讲述MaterialDesign&#xff0c;今天带来Material Design系列的第一弹 LinearLayoutCompat。 以前要在LinearLayout布局之间的子View之间添加分割线&#xff0c;还需要自己去自定义控件进行添加…

自动驾驶多任务框架Hybridnets——同时处理车辆检测、可驾驶区域分割、车道线分割模型部署(C++/Python)

一、多感知任务 在移动机器人的感知系统&#xff0c;包括自动驾驶汽车和无人机&#xff0c;会使用多种传感器来获取关键信息&#xff0c;从而实现对环境的感知和物体检测。这些传感器包括相机、激光雷达、雷达、惯性测量单元&#xff08;IMU&#xff09;、全球导航卫星系统&am…

Spark 增量抽取 Mysql To Hive

题目要求&#xff1a; 抽取ds_db01库中customer_inf的增量数据进入Hive的ods库中表customer_inf。根据ods.user_info表中modified_time作为增量字段&#xff0c;只将新增的数据抽入&#xff0c;字段名称、类型不变&#xff0c;同时添加静态分区&#xff0c;分区字段为etl_date&…

SpringCloud(二)

1.Nacos配置管理 Nacos除了可以做注册中心&#xff0c;同样可以做配置管理来使用。 1.1.统一配置管理 当微服务部署的实例越来越多&#xff0c;达到数十、数百时&#xff0c;逐个修改微服务配置就会让人抓狂&#xff0c;而且很容易出错。我们需要一种统一配置管理方案&#…

NIFI实现数据库数据增量同步

说明 nifi版本&#xff1a;1.23.2&#xff08;docker镜像&#xff09; 需求背景 将数据库中的数据同步到另一个数据库中&#xff0c;要求对于新增的数据和历史有修改的数据进行增量同步 模拟数据 建表语句 源数据库和目标数据库结构要保持一致&#xff0c;这样可以避免后…

固定资产管理数据怎么算?

在企业的运营中&#xff0c;固定资产的管理是一个至关重要的环节。然而&#xff0c;对于许多企业来说&#xff0c;理解和管理这些资产的数据却常常是一团迷雾。那么&#xff0c;固定资产管理数据究竟应该如何计算呢&#xff1f;这是一个需要我们深入探讨的问题。  我们需要明…

MySQL——命令行客户端的字符集问题

原因&#xff1a;服务器端认为你的客户端的字符集是utf-8&#xff0c;而实际上你的客户端的字符集是GBK。 查看所有字符集&#xff1a;SHOW VARIABLES LIKE character_set_%; 解决方案&#xff0c;设置当前连接的客户端字符集 “SET NAMES GBK;”

Android12之/proc/pid/status参数含义(一百六十五)

简介&#xff1a; CSDN博客专家&#xff0c;专注Android/Linux系统&#xff0c;分享多mic语音方案、音视频、编解码等技术&#xff0c;与大家一起成长&#xff01; 优质专栏&#xff1a;Audio工程师进阶系列【原创干货持续更新中……】&#x1f680; 人生格言&#xff1a; 人生…

python sorted函数详解2023.9.11

sorted函数详解 1. 输入和输出2. key传入函数 1. 输入和输出 help(sorted) Help on built-in function sorted in module builtins: sorted(iterable, /, *, keyNone, reverseFalse)Return a new list containing all items from the iterable in ascending order.A custom k…

Redis监控工具_RedisLive

Redis监控工具_RedisLive Redis安装请看: MacBook安装Redis redis集群搭建_亲自操作 RedisLive安装 RedisLive是由python编写的并且开源的图形化监控工具&#xff0c;非常轻量级&#xff0c;核心服务部分只包含一个web服务和一个基于redis自带的info命令以及monitor命令的…

php://filter协议在任意文件读取漏洞(附例题)

php://filter php://fiter 中文叫 元器封装&#xff0c;咱也不知道为什么这么翻译&#xff0c;目前我的理解是可以通过这个玩意对上面提到的php IO流进行处理&#xff0c;及现在可以对php的 IO流进行一定操作。 过滤器&#xff1a;及通过php://filter 对php 的IO流进行的具体…

微服务之流控、容错组件sentinel

背景 2012年阿里巴巴研发的流量治理组件&#xff0c;核心功能流控、容错 有什么功能 流量控制 流量控制 网关控制 黑白名单 熔断降级 熔断 保护分布式系统防止因为调用下有服务时产生故障或者请求超时等异常影响上游服务&#xff0c;使用熔断方案&#xff0c;类似断路器…

hive中的索引

使用索引前的配置 在使用Hive索引之前&#xff0c;需要进行一些配置&#xff0c;以确保索引能够正常工作。以下是一些常见的配置步骤&#xff1a; Hive配置 在Hive中启用索引功能&#xff0c;需要在Hive配置文件&#xff08;hive-site.xml&#xff09;中设置以下属性&#x…