RPI.GPIO Python使用手册

树莓派(一)python接口RPi.GPIO介绍 ​树莓派python接口RPi.GPIO介绍 阅读详情

1.RPi.GPIO模块基本使用

导入模块

导入 RPi.GPIO 模块:

import RPi.GPIO as GPIO
 
  • 1

通过下面的代码可以检测导入是否成功

try:
    import RPi.GPIO as GPIO
except RuntimeError:
    print("Error importing RPi.GPIO!  This is probably because you need superuser privileges.  You can achieve this by using 'sudo' to run your script")
 
  • 1
  • 2
  • 3
  • 4

引脚编号方式

RPi.GPIO中有两种引脚的编号方式。第一个是使用电路板编号系统。这指的是在树莓派电路板上P1开头的。使用这个编号系统的优势是,您的硬件将总是工作,不管电路板是哪个版本的。你不需要重新修改代码。 
第二个编号系统是BCM数字。这是一个低水平的工作方式,它指的是电路板引脚的位置号。电路板版本变化时脚本程序需要对应修改。 
必须指定使用哪种:

GPIO.setmode(GPIO.BOARD)
  # or
GPIO.setmode(GPIO.BCM)
 
  • 1
  • 2
  • 3

可以查询使用的哪种编号方法

mode = GPIO.getmode()
#输出: GPIO.BOARD, GPIO.BCM or None
 
  • 1
  • 2

设置一个通道

作为输入

GPIO.setup(channel, GPIO.IN)
#chanel与使用的编号方式对应
 
  • 1
  • 2

作为输出:

GPIO.setup(channel, GPIO.OUT)
GPIO.setup(channel, GPIO.OUT, initial=GPIO.HIGH)
 
  • 1
  • 2

设置多个通道

chan_list = [11,12]    # add as many channels as you want!
GPIO.setup(chan_list, GPIO.OUT)
 
  • 1
  • 2

输入

读取一个GPIO口的值

GPIO.input(channel)
#返回:0 / GPIO.LOW / False or 1 / GPIO.HIGH / True.
 
  • 1
  • 2

输出

设置一个GPIO口的输出值

GPIO.output(channel, state)
#State 可以是 0 / GPIO.LOW / False or 1 / GPIO.HIGH / True.
 
  • 1
  • 2

设置多个通道的输出

chan_list = [11,12]           # also works with tuples
GPIO.output(chan_list, GPIO.LOW)   # sets all to GPIO.LOW
GPIO.output(chan_list, (GPIO.HIGH, GPIO.LOW))
# sets first HIGH and second LOW
 
  • 1
  • 2
  • 3
  • 4

清空

在程序的末尾可以加上

GPIO.cleanup()
 
  • 1

如果想清理特定的通道

GPIO.cleanup(channel)
GPIO.cleanup( (channel1, channel2) )
GPIO.cleanup( [channel1, channel2] )
 
  • 1
  • 2
  • 3

2.GPIO 输入

要得到GPIO输入到你的程序的几种方法。第一个和最简单的方法是在时间点上检查输入值。这被称为“轮询”,如果你的程序在错误的时间读取值,可能会错过一个输入。轮询是在循环中进行的。另外一种方法来响应一个GPIO输入是使用“中断”(边沿检测)。边沿是由高到低(下降沿)或低到高(上升沿)的过渡的名称。

上拉或者下拉电阻

如果您没有连接到任何硬件的输入引脚,它将’浮动’。换句话说,读取的值是未定义的,因为它没有连接到任何事情,直到你按一个按钮或开关。由于受电干扰,它的值可能会改变。 
为了实现这一点,我们使用了上拉或下拉电阻。以这种方式,可以设置输入的默认值。在硬件和软件上有上拉/下拉电阻是可能的。在硬件上,在输入通道和3.3V(上拉)之间的或0V(下拉)使用10K电阻是常用的。通过rpi.gpio模块配置GPIO口可以实现同样的功能

GPIO.setup(channel, GPIO.IN, pull_up_down=GPIO.PUD_UP)
  # or
GPIO.setup(channel, GPIO.IN, pull_up_down=GPIO.PUD_DOWN)
 
  • 1
  • 2
  • 3

测试输入(轮询)

可以在一个时间点查看输入

if GPIO.input(channel):
    print('Input was HIGH')
else:
    print('Input was LOW')
 
  • 1
  • 2
  • 3
  • 4

在循环中使用轮询来检测按钮是否按下

while GPIO.input(channel) == GPIO.LOW:
    time.sleep(0.01)  # wait 10 ms to give CPU chance to do other things
 
  • 1
  • 2

中断与边沿检测

边沿是电信号从低到高(上升沿)或从高到低(下降沿)的改变。这种改是一种事件,为了使程序在运行的过程中检测到按钮按下这样的事件: 
• wait_for_edge() 
• event_detected() 
• 另外一个线程的回调方法 
wait_for_edge()方法不会执行,只到检测到边沿,检测按钮按下也可以写成:

GPIO.wait_for_edge(channel, GPIO.RISING)
 
  • 1

这种检测边沿( GPIO.RISING, GPIO.FALLING or GPIO.BOTH)的优势是使用CPU的资源很少 
可以加一个timeout参数

#wait for up to 5 seconds for a rising edge (timeout is in milliseconds)
channel = GPIO.wait_for_edge(channel, GPIO_RISING, timeout=5000)
if channel is None:
    print('Timeout occurred')
else:
    print('Edge detected on channel', channel)
 
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6

event_detected()方法是用在循环事件中,在Pygame或PyQt这种存在一个主循环监听GUI时非常有用.

GPIO.add_event_detect(channel, GPIO.RISING)  # add rising edge detection on a channel
do_something()
if GPIO.event_detected(channel):
    print('Button pressed')
 
  • 1
  • 2
  • 3
  • 4

线程回调

RPi.GPIO运行第二个线程来处理回调函数:

def my_callback(channel):
    print('This is a edge event callback function!')
    print('Edge detected on channel %s'%channel)
    print('This is run in a different thread to your main program')

GPIO.add_event_detect(channel, GPIO.RISING, callback=my_callback)  # add rising edge detection on a channel
...the rest of your program...
 
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7

多个回调函数:

def my_callback_one(channel):
    print('Callback one')

def my_callback_two(channel):
    print('Callback two')

GPIO.add_event_detect(channel, GPIO.RISING)
GPIO.add_event_callback(channel, my_callback_one)
GPIO.add_event_callback(channel, my_callback_two)
 
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9

这里的回调函数是按顺序运行的,不是同时运行的,因为只有一个进程(process)在运行

开关去抖

开关在按下的过程中回调函数会执行多次,这是因为开关按下的过程中由于抖动产生多个边沿的原因,下面的方法可以解决这个问题: 
• 增加一个0.1uF的电容与开关串接 
• 软件去抖 
• 结合上述两种方法 
在程序中增加一个bouncetime参数可以现实去抖:

# add rising edge detection on a channel, ignoring further edges for 200ms for switch bounce handling
GPIO.add_event_detect(channel, GPIO.RISING, callback=my_callback, bouncetime=200)
or
GPIO.add_event_callback(channel, my_callback, bouncetime=200)
 
  • 1
  • 2
  • 3
  • 4

移除事件监听

GPIO.remove_event_detect(channel)
 
  • 1

3.GPIO 输出

设置RPi.GPIO

import RPi.GPIO as GPIO
GPIO.setmode(GPIO.BOARD)
GPIO.setup(12, GPIO.OUT)
 
  • 1
  • 2
  • 3

设置为高电平输出:

GPIO.output(12, GPIO.HIGH)
 # or
GPIO.output(12, 1)
 # or
GPIO.output(12, True)
 
  • 1
  • 2
  • 3
  • 4
  • 5

设置低电平输出

GPIO.output(12, GPIO.LOW)
 # or
GPIO.output(12, 0)
 # or
GPIO.output(12, False)
 
  • 1
  • 2
  • 3
  • 4
  • 5

同时设置多个通道的输出

chan_list = (11,12)
GPIO.output(chan_list, GPIO.LOW) # all LOW
GPIO.output(chan_list, (GPIO.HIGH,GPIO.LOW))  # first LOW, second HIGH
 
  • 1
  • 2
  • 3

清空

GPIO.cleanup()
input()方法可以读取目前通道的输出:
GPIO.output(12, not GPIO.input(12))
 
  • 1
  • 2
  • 3

4.PWM(脉冲宽度调制)

创建PWM 实例

p = GPIO.PWM(channel, frequency)
 
  • 1

启动PWM

p.start(dc)   # where dc is the duty cycle (0.0 <= dc <= 100.0)
 
  • 1

改变频率

p.ChangeFrequency(freq)   # where freq is the new frequency in Hz
 
  • 1

改变占空比

p.ChangeDutyCycle(dc)  # where 0.0 <= dc <= 100.0
 
  • 1

停止PWM

p.stop()
 
  • 1

变量P超出范围时PWM也会停止.

LED每两秒闪烁一次:

import RPi.GPIO as GPIO
GPIO.setmode(GPIO.BOARD)
GPIO.setup(12, GPIO.OUT)

p = GPIO.PWM(12, 0.5)
p.start(1)
input('Press return to stop:')   # use raw_input for Python 2
p.stop()
GPIO.cleanup()
An example to brighten/dim an LED:
import time
import RPi.GPIO as GPIO
GPIO.setmode(GPIO.BOARD)
GPIO.setup(12, GPIO.OUT)

p = GPIO.PWM(12, 50)  # channel=12 frequency=50Hz
p.start(0)
try:
    while 1:
        for dc in range(0, 101, 5):
            p.ChangeDutyCycle(dc)
            time.sleep(0.1)
        for dc in range(100, -1, -5):
            p.ChangeDutyCycle(dc)
            time.sleep(0.1)
except KeyboardInterrupt:
    pass
p.stop()
GPIO.cleanup()
 
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29

gpio_function(channel) 
显示一个GPIO口的功能:

import RPi.GPIO as GPIO

GPIO.setmode(GPIO.BOARD)
func = GPIO.gpio_function(pin)
#返回值:GPIO.IN, GPIO.OUT, GPIO.SPI, GPIO.I2C, GPIO.HARD_PWM, GPIO.SERIAL, GPIO.UNKNOWN
 
  • 1
  • 2
  • 3
  • 4
  • 5

参考https://sourceforge.net/p/raspberry-gpio-python/wiki/Home/

树莓派笔记(三) 使用 RPi.GPIO 模块 目录树莓派笔记(三) 使用 RPi.GPIO 模块RPi.GPIO引脚简介引脚编号引脚图引脚设置指定引脚编号系统配置通道释放引脚输出输入上拉/下拉电阻轮询输入中断和边检检测线程回调开关防抖 树莓派笔记(三) 使用 RPi.GPIO 模块 RPi.GPIO RPI.GPIO是python的一个模块,树莓派官方系统默认已经安装 使用python控制GPIO需要导入RPI.GPIO模块 导入模块 #导入模块并检查它是否成功: import RPi.GPIO as GPIO try: import 阅读详情

相关推荐

python玩转树莓派(四) RPI.GPIO

RPi.GPIO官方文档地址: https://sourceforge.net/p/raspberry-gpio-python/wiki/BasicUsage/ 一. 导入RPI.GPIO import RPi.GPIO as GPIO 二. 指定引脚编号方式 RPi.GPIO中的Raspberry Pi上的IO引脚编号有两种方法。第一种是使用BOARD编号系统。这是指Raspberry...

finedayforu的博客 2611

RPi.GPIO

RPi.GPIO RPi.GPIO是什么 RPi.GPIO是树莓派引脚管理输入输出的Python模块; RPi.GPIO是干什么用的 通过RPi.GPIO,Python可以读取和控制树莓派相关引脚的信息和操作; RPi.GPIO如何使用 import RPi.GPIO as GPIO … ...

windmyself的专栏 1135

解决树莓派中python3无法import模块RPi.GPIO的问题办法

pi@raspberrypi:~ $ python3Python 3.6.4 (default, Apr  8 2018, 18:42:32) [GCC 6.3.0 20170516] on linuxType "help", "copyright", "credits" or "license" for more information.&gt;&gt;&gt; import GPIOTrace...

xmm1981的专栏 2万+

树莓派GPIO RPi.GPIO

树莓派 raspberry pi GPIO python树莓派 raspberry pi GPIO python RPiGPIO模块基本使用 导入模块 引脚编号方式 设置一个通道 输入 输出 设置多个通道的输出 清空 GPIO 输入 上拉或者下拉电阻 测试输入轮询 中断与边沿检测 线程回调 开关去抖 GPIO 输出 设置RPiGPIO 设置为高电平输出 设置低电平输出 同时设置多个通道的输出 清空

u013509777的专栏 1万+

python3操作RaspberryPi的GPIO

python3操作RaspberryPi的GPIO 使用python3的RPi.GPIO库操作RaspberryPi的GPIO 基础环境 树莓派B,26引脚 Python3 的 RPi.GPIO库 树莓派的引脚图 GPIO编号有两种编号模式(BOARD)和(BCM)具体两者有什么区别之后讲。 本文用的是BCM模式,编号图在这里 RPi.GPIO库 RPi.GPIO有py...

梦中随笔 1万+

华为网络实战:5分钟搞定OSPF+VRRP+MSTP多协议联动配置(附完整命令集)

本文深入解析了在企业网络中如何高效协同部署OSPF、VRRP和MSTP三大协议。通过一个典型的双核心网络案例,详细阐述了从规划、配置到验证的完整流程,重点强调了确保MSTP根桥与VRRP主设备一致的设计原则,以实现最优的二层与三层流量转发路径,并提供了完整的命令集和故障排查思路。

weixin_29251337的博客 153

树莓派Raspberry Pi上安装和使用RPi.GPIO模块以及引脚对照表

记录自己学习树莓派的过程。 如果要使用Python来使用GPIO信号,需要使用RPi.GPIO模块。 如果你使用的是Python2版本,树莓派默认安装了RPi.GPIO模块(python-rpi.gpio)。 目前大多数的人都是使用Python3了,所以我们要手动安装Python v3版本的模块。 1.安装RPi.GPIO模块 sudo apt-get update sudo apt-...

浪迹天涯的博客 2万+

告别信号毛刺!手把手教你用ADS和IBIS-AMI模型搞定PCIe Gen3眼图仿真

本文详细介绍了如何使用Keysight ADS和IBIS-AMI模型进行PCIe Gen3眼图仿真,解决高速信号传输中的信号质量问题。从仿真环境搭建、S参数预处理到眼图优化与故障排除,提供了一套完整的工程实践指南,帮助工程师提升PCIe Gen3接口的信号完整性。

weixin_28366053的博客 366

Python面向树莓派使用RPi.GPIO库

文章目录前言一、代码实例二、基础用法1.GPIO.setmode--设置引脚编号2.GPIO.setwarnings(False)--GPIO口警告3.设置channel多通道方法4.GPIO.setup--设置通道5.GPIO.input(channel)--读取 GPIO 引脚的值6.GPIO.output(channel, state)--设置 GPIO 引脚的输出状态7.同一个调用中输出到多通道8.GPIO.cleanup()--清理释放三、RPi.GPIO 中使用 PWM1.创建 PWM 实例:.

m0_47958289的博客 9911

科研智能体平台搭建与实战:大模型如何驱动科研自动化

大模型技术的快速发展,正推动AI智能体从单纯对话工具向主动执行任务的科研伙伴演进。智能体的核心原理在于整合模型调用、工具使用、知识库检索与工作流编排,使其能够自主拆解目标、执行操作并迭代优化。在科研场景中,这一技术价值尤为突出:文献初筛、实验数据清洗、代码调试、结果汇总等高频重复劳动均可实现自动化,大幅释放研究者精力。从基础组件配置到多智能体协同,从平台选型到提示词调优,实际落地需要关注模型匹配、工具稳定性、记忆管理与人机校验机制。本文基于真实工程经验,系统梳理科研智能体平台的搭建路径、应用案例与高频问题排

weixin_32597009的博客 284

别再死记硬背Payload了!深入理解Flask/Jinja2 SSTI的Python对象继承链与魔术方法

本文深入解析Flask/Jinja2 SSTI漏洞的底层原理,从Python对象模型出发,详细讲解如何通过魔术方法链实现RCE。文章揭示了Python对象继承链与魔术方法的精妙设计,提供了防御与绕过SSTI漏洞的实用技巧,帮助开发者深入理解漏洞本质并采取有效防护措施。

weixin_42525738的博客 356

[树莓派] Python3安装和使用RPI.GPIO

无力吐槽, 写吧: 第一句: sudo apt-get -y install python3-rpi.gpio 第二句: sudo pip3 install --upgrade RPI.GPIO

hongmei2k的博客 1万+

基于simulink的车道保持辅助系统(LKA)的仿真与实现

本文介绍了如何利用Simulink实现车道保持辅助系统(LKA)的仿真与建模。首先对比了车道偏离预警(LDW)和LKA的功能差异,强调LKA的主动干预特性。接着详细阐述了LKA系统架构,包括环境感知、决策控制等核心组件,并基于自行车模型建立车辆横向动力学方程。 文章重点演示了Simulink建模步骤:搭建车辆动力学模型、设计LKA控制器(采用LQR算法)、实现执行器接口和驾驶员干预检测。通过四个典型场景的仿真测试,验证了系统在直道行驶、弯道跟踪等工况下的控制性能,并给出了关键评价指标。最后展望了MPC控制、

amy_mhd的博客 227

玩转树莓派(四)使用Python 通过RPi.GPIO库控制GPIO

玩转树莓派(四)使用python RPi.GPIO控制GPIO 新建PythonWorkSpace文件夹 新建gpio_out.py文件 pi@raspberrypi:~ $ mkdir PythonWorkSpace pi@raspberrypi:~ $ cd PythonWorkSpace/ pi@raspberrypi:~/PythonWorkSpace $ vim gpio_out.py 编辑gpio_out.py import RPi.GPIO as GPIO import time

4386

milvus | 第 1 章:从“相似图片搜索”理解 Milvus 向量数据库

本文介绍了向量数据库Milvus的核心概念和基本架构。主要内容包括:1)向量数据库解决的是高维向量相似度检索问题,通过Embedding将非结构化数据转换为向量进行比较;2)Milvus作为分布式向量数据库,包含Proxy、Coordinator、QueryNode等多个组件协同工作;3)关键概念如Collection、Schema、Segment等构成了Milvus的数据组织方式;4)典型使用流程包括创建集合、插入数据、构建索引、加载数据和执行搜索五个步骤。文章为后续深入理解Milvus源码提供了基础知识

weixin_43674738的博客 133

【25届数字IC秋招总结】面试经验15——比特大陆-算能

25届数字ic面试记录——比特大陆-算能

lalala0635的博客 554

[RPi]树莓派GPIO入门之控制LED灯

本文部分资料及图片来自网络 一、所需材料 树莓派4B、LED灯、面包板、杜邦线、电阻、Python程序 二、认识硬件材料 这里介绍下LED灯、面包板、杜邦线、电阻 LED灯:LED灯引脚长的一端为正极,短的一端为负极。也可以仔细观察灯珠内部的电极,较小的是正极,大的一端的是负极。 面包板:方便插线,不用手动接线,其特点是中间的插孔竖向是相通的,边缘的插孔横向是相通的。 杜邦线:杜邦线可实现插针式的连接,不用焊接,方便实验连通电路。杜邦线是分公母头的,本实验使用两根公-母杜邦..

jayhgq的博客 7925

UE5实现物体高亮描边效果(含UE相关源码浅析)

UE5实现物体高亮描边效果

专注GIS开发 7334

3、树莓派 RPI.GPIO 使用手册

     RPi.GPIO是Python的一个module( 模块 ), 树莓派官方系统默认已经安装, 仍在不断更新中, 截至20180521, 最新版0.6.3, 适配了树莓派3B+, 可以访问 python主页下载源码 .      本文根据树莓派RPI.GPIO模块的官方文档翻译,当时的模块版本为0.6.3。官方的帮助文档的链接:https://sourceforge.net/p/raspb...

fhqlongteng的博客 6万+

大中型超市收银系统(可直接运行)

光步前台收银系统系统功能:商品销售、商品退货、挂单、收银员权限、会员销售、单品取消、整单取消、商品查询、脱机销售、脱机数据上传,基本资料下载,开钱箱、小票打印、收款结算,支持多币种付款方式(现金、储值卡、礼券、微信等),支持多种促销。运行环境:.net 4.0登陆信息用户名:1001 密码:123456内置商品信息,商品编码可输入00001000 - 00010000,测试效果相关功能键F5 结算 F9挂单 F11商品查询 F8退货 Insert单品取消 Del整单取消 F12开钱箱F2 会员 Ctrl+Z退出系统 Home 锁屏 相关源码待公开

IEM模型,地表粗糙度模拟

利用微波反演土壤水分时候,利用IEM模型可以实现对随机地表的模拟

树莓派硬件编程——(一)用RPi.GPIO库输出信号

一、认识RPi.GPIO库 树莓派硬件编程不仅可以用Python进行开发,也可以用C++进行开发,那么想要对硬件进行控制,就需要了解树莓派的电路设计和芯片的控制规则,只有知道了这些,我们才能驱动我们的树莓派。那么RPi.GPIO库就是Python对树莓派的控制库,它提供了很多函数可以让我们获取引脚信息、与外部设备进行数据交互等等,所以RPi.GPIO是我们硬件编程非常重要的工具。 二、如何下载...

geeknuo的博客 8832

Camera2Demo

在Camera2 的基础上进行封装,使得Camera2一堆初始化逻辑与Activity分离,降低耦合度,完成预览拍照并保存的操作

python3无法安装rpi gpio咋办_在Python 3.6上使用RPi.GPIO

I try to use RPi.GPIO with Python 3.6.I installed RPi.GPIO and it's working with Python 3.4, but not with Python 3.6I get this Error:ModuleNotFoundError: No module named 'RPi'I immport the module in m...

weixin_35817602的博客 2494

LinePhone3.2.7(android端最新版本) sip客户端

SIP客户端For android:LinePhone3.2.7(最新版本),官网地址:http://www.linphone.org/

RPi.GPIO模块

RPi.GPIO Python模块 本文搬运于https://sourceforge.net/p/raspberry-gpio-python/wiki/Home/,进行了机器翻译与部分修改,2020.06.13更新。如有错误或翻译不当之处,劳烦各位指出,我会及时修改。 文章目录RPi.GPIO Python模块Wiki: 代码示例基本用法引脚编号警告事项设置频道设置多个频道输入项输出量输出到多个通道清理RPi板信息和RPi.GPIO版本输入上拉/下拉电阻测试输入(polling)中断和边缘检测wait_

oHuXing1的博客 991

树莓派3 RPi.GPIO 使用完全教程

本文介绍了RPi.GPIO库在树莓派3上的使用教程,主要包含以下内容:1)RPi.GPIO库的功能特点及安装方法;2)GPIO引脚的基础知识,包括编号系统、电压电流限制;3)基本使用方法,涵盖LED控制、按钮检测、PWM调光等;4)高级应用如多通道控制、二进制读取;5)常见问题解决方案和使用最佳实践。教程通过详细代码示例演示了如何利用Python控制树莓派GPIO引脚,实现电子元件连接与控制,适合树莓派初学者学习基础硬件编程。

dingyuana的专栏 1921

在树莓派3B上使用RPi.GPIO

在树莓派3B上使用RPi.GPIO  收藏 e哥   发表于 1年前 阅读 1891 收藏 17 点赞 0 评论 6 标题:腾讯云 新注册用户域名抢购1元起>>>    一直都听说树莓派功能很强大,这几天就买了个pi3试玩一下。拿到手装好系统,就开始测试GPIO口,点亮一个LED。直接用python去操作GPIO好像不行,

p09080016的博客 2217

RPi.GPIO 模块使用基础

更新日志: 2013 年 5 月 25 日更新:根据 2013 年 3 月 30 日更新的官方文档完成了初步翻译。 本文会在适当的时间里进行增删改等操作,如果您对该文感兴趣,可以仅收藏本页。 本文链接:RPi.GPIO 模块使用基础 该程序包提供了一个在 Raspberry Pi 中控制 GPIO 的类。 注意,该模块不适合应用到追求实时性或计数周期的应用中。这是由于您无法预测 Ptyh

Haven200的专栏 3897
上一篇: 树莓派GPIO针脚在python中BCM与BOARD模式
下一篇: 树莓派和Windows之间共享文件,文件共享(samba)
A-level
博客等级 码龄14年 82粉丝 37原创
评论 3
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值