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

news2024/11/27 12:38:45

今日继续我的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 GPIO

input_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 GPIO

 
output_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 GPIO

 
input_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.coloradmin.cn/o/992801.html

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

相关文章

系统报错“由于找不到msvcp140.dll无法继续执行代码”的处理方法

我在使用电脑时,突然发现了一个错误提示:“无法启动程序,因为找不到msvcp140.dll文件”。这让我非常困惑,因为我确定这个文件应该存在于我的电脑上。但是电脑依然报错“由于找不到msvcp140.dll无法继续执行代码”,这个…

apache-activemq-5.17.1一键安装安装

下载 安装 双击InstallService.bat脚本 查看是否安装完成

C# Solidworks二次开发:创建草图文本和创建草图中心线API详解

今天要介绍的是关于如何创建草图文本的API以及创建草图中心线的API,同时把一些连带的API也会和大家介绍一下,依然是满满的干货。 (1)创建草图文本API,InsertSketchText() 这个API的输入参数如下图所示: 一…

SD、SDIO和MMC接口基础和规范介绍

在MMC规范发展的过程中出现了很多的名词,如SDHC、SDIO、SDXC等,每次看到这些不同的规范都有点懵,也很容易搞混,所以本篇文章就来介绍一下MMC规范发展过程中出现的一些新的规范,并详细地理解一下SD和SDIO。 文章目录 1 …

Postman接口测试流程

一、工具安装 ● 安装Postman有中文版和英文版,可以选择自己喜欢的版本即可。安装时重新选择一下安装路径(也可以默认路径),一直下一步安装完成即可。(本文档采用英文版本)安装文件网盘路径链接&#xff1…

哈希的应用——布隆过滤器

文章目录 前言1. 布隆过滤器提出2. 布隆过滤器概念3. 布隆过滤器的插入多哈希函数映射减少冲突结构定义及set(插入)函数实现 4. 布隆过滤器的查找test(查找)函数实现布隆过滤器允许误判 5. 布隆过滤器的适用场景6. 如何选择布隆过…

AOI软件之 CAD图纸导入功能

在这里,我不过多的解释AOI,半导体检测行业内的小伙伴自然会懂;我也不会过多解释何为diemap或者wafer-layout。因为我们本文的核心场景仅仅是cad图纸的解析和基本绘图的二次开发。而且我们紧紧是面向行业内的场景需求来说明此功能。 无图我说…

强大的JTAG边界扫描(4):STM32边界扫描应用

文章目录 1. 获取芯片的BSDL文件2. 硬件连接3. 边界扫描测试4. 总结 试想这样一个场景,我们新设计了一款集成了很多芯片的板卡,包括BGA封装的微控制器,如FPGA/MCU,还有LED、按键、串口、传感器、ADC等基本外设。 我们需要测试一下…

时序分解 | MATLAB实现基于EWT经验小波变换的信号分解分量可视化

时序分解 | MATLAB实现基于EWT经验小波变换的信号分解分量可视化 目录 时序分解 | MATLAB实现基于EWT经验小波变换的信号分解分量可视化效果一览基本介绍程序设计参考资料 效果一览 基本介绍 EWT经验小波变换 包含频谱相关系数 可直接运行 Matlab代码 1.可自由设置分量个数&…

【uni-app】—2.必备软件安装

一、Node.js 安装流程 二、微信开发者工具 1.选择自己系统对应安装包下载 2. 安装 设置安装路径 三、HBuilderx 1. 根据系统下载安装包 2. 解压安装包(自定义解压路径) 3. 运行 四、安卓模拟器(夜神) 1. 下载安装包 2…

eclipse链接MySQL数据库

在MySQL官网下载驱动 MySQLhttps://www.mysql.com/cn/点击下载: 页面滚动到最下方选择社区版: 选择Java版本: 接下来,需要选择操作系统,我们选择平台独立: eclipse 接下来,我们打开eclipse,新建…

【C语言】异或(^)

一.简介 异或,英文为exclusive OR,缩写成xor 异或(xor)是一个数学运算符。它应用于逻辑运算。异或的数学符号为“⊕”,计算机符号为“xor”。其运算法则为: a⊕b (a ∧ b) ∨ (a ∧b) 如果a、b两个值不…

2023国赛 C题论文 蔬菜类商品自动定价与补货策略

因为一些不可抗力,下面仅展示小部分论文,其余看文末 一、问题重述 在生鲜超市管理领域,涉及一系列复杂问题,包括供应链管理、定价策略以及市场需求分析等方面。以蔬菜类商品为案例,这些商品在生鲜商超中具有较短的保…

升降压芯片

型号: SC8815 升降压电路基于SC8815实现的可调电源 2-36V连续可调,0.3-6A可调限流 原理图参考 可以观察到控制使用i2c就可以 使用参考链接 【小米120W协议转换器】私有协议转换器2.0_哔哩哔哩_bilibilihttps://www.bilibili.com/video/BV1qu4y1y72F…

无人机通信协议MAVLink简介

Micro Air Vehicle Link(简称MAVLink)用于无人系统(例如,机器人、无人机、无人车、无人船和无人潜航器)。它定义了一组无人系统和地面站之间的消息交换规则。此协议广泛用于无人驾驶系统中,特别是ArduPilot和PX4无人驾驶系统,MAVLink协议提供了强大的功能,不仅用于监视…

二维码智慧门牌管理系统:高效、精准的门牌管理解决方案

文章目录 前言一、问题概述二、解决方案三、实际效果 前言 随着城市发展的日新月异,门牌标识作为城市管理的重要组成部分,也面临着诸多挑战。传统门牌的陈旧、缺失以及指示不明确等问题,已成为城市管理效率和居民生活品质的瓶颈。为解决这些…

【动手学深度学习笔记】--门控循环单元GRU

文章目录 门控循环单元GRU1.门控隐状态1.1重置门和更新门1.2候选隐状态1.3隐状态 2.从零开始实现2.1读取数据2.2初始化模型参数2.3定义模型2.4训练与预测 3.简洁实现 门控循环单元GRU 学习视频:门控循环单元(GRU)【动手学深度学习v2】 官方…

iOS App上架新规解析:如何进行App备案

摘要 本文将以iOS技术博主的身份,解析iOS App上架新规中的App备案要求。通过探讨备案对开发者和市场的影响,介绍备案流程和所需材料,帮助开发者了解如何进行App备案。 引言 近年来,移动应用市场蓬勃发展,但同时也存…

数据库基础——数据库、数据表和SQL语句

数据库、数据表和SQL语句 数据库、数据表和SQL语句是什么?数据库安装数据库登录及退出创建、查看数据库及修改名字查看及修改数据库编码删除数据库使用或查看当前正在使用的数据库创建、查看数据表及修改名字查看及修改数据表编码查看及修改数据表结构增加约束删除约…

概念解析 | 非极大值抑制(NMS):原理、缺点和改进

注1:本文系“概念解析”系列之一,致力于简洁清晰地解释、辨析复杂而专业的概念。本次辨析的概念是:非极大值抑制(NMS)及其改进工作。 非极大值抑制(NMS):原理、缺点和改进 1. 背景介绍 在计算机视觉中,物体检测是一个核心且充满挑战的问题。众多算法和技术应运而生,其…