2024-02-24 15:44:24 | 我爱编程网
GPIO这个问题很多人都混淆。
本身的概念
GPIO是General-Purpose Input / Output。
-------------
到了单片机上,单片机有很多管脚(PIN)
-------------
PIN除了一些特殊的,比如电源,比如地线,晶振接线等等,很多都可以任意定义成两种功能中的一种:1. 模块的管脚,2. GPIO
--------------
当定义为模块管脚时,PIN起模块中定义的功能。比如定义成SPI模块的管脚,那就按照具体芯片的规定,或者定义成MOSI,或者定义成MISO,或者定义成SCLK,这些不是任意的。SPI是模块,MISO等是功能管脚。
--------------
当定义成GPIO时,可以定义成高阻,输入,或者输出。这时候,就可以用作操作控制位,点LED灯等功能了。
--------------
很多模块的功能管脚,严格意义上来讲也是IO,比如CANH,CANL,所以这里为了避免混淆,就将没有定义成模块功能管脚的那些单片机管脚定义成General Purpose的IO了,以示区别。
python GPIO
1、先安装python-dev,输入以下指令。
sudo
apt-get install python-dev
2、安装RPi.GPIO,依次输入以下指令。
1)下载:$ wget
-gpio-python.googlecode.com/files/RPi.GPIO-0.5.3a.tar.gz
2)解压缩:$ tar xvzf RPi.GPIO-0.5.3a.tar.gz
3)进入解压之后的目录 :$ cd RPi.GPIO-0.5.3a
4)启动安装 :$ sudo python setup.py install
3、例子:
[python] view plain copy
# -*- coding: utf-8 -*-
import RPi.GPIO as GPIO
import time
# BOARD编号方式,基于插座引脚编号我爱编程网
GPIO.setmode(GPIO.BOARD)
# 输出模式
GPIO.setup(11, GPIO.OUT)
while True:
GPIO.output(11, GPIO.HIGH)
time.sleep(1)
GPIO.output(11, GPIO.LOW)
time.sleep(1)
4、执行:
sudo python led.py
5、说明:
1)GPIO.setmode(GPIO.BOARD),采用插座引脚编号方式。
2)由于采用插座引脚编号方式,此处的11脚相当于BCM2835寄存器编号方式的引脚11。
python GPIO
1、说明:
WiringPi是应用于树莓派平台的GPIO控制库函数,WiringPi遵守GUN Lv3。wiringPi使用C或者C++开发并且可以被其他语言包转,例如python、ruby或者PHP等。
wiringPi包括一套gpio控制命令,使用gpio命令可以控制树莓派GPIO管脚。用户可以利用gpio命令通过shell脚本控制或查询
GPIO管脚。wiringPi是可以扩展的,可以利用wiringPi的内部模块扩展模拟量输入芯片,可以使用
MCP23x17/MCP23x08(I2C
或者SPI)扩展GPIO接口。另外可通过树莓派上的串口和Atmega(例如arduino等)扩展更多的GPIO功能。另外,用户可以自己编写扩展模
块并把自定义的扩展模块集成到wiringPi中。WiringPi支持模拟量的读取和设置功能,不过在树莓派上并没有模拟量设备。但是使用
WiringPi中的软件模块却可以轻松地应用AD或DA芯片。
我爱编程网(https://www.52biancheng.com)小编还为大家带来gpio包含哪些寄存器的相关内容。
GPIO包含的主要寄存器有控制寄存器、输入寄存器、输出寄存器和上拉/下拉电阻寄存器。
GPIO,即通用输入/输出,是一种接口类型,可用于在计算机和其他数字系统之间传输数据。GPIO通过一组寄存器来控制和管理输入和输出信号。这些寄存器通常包括以下几类:
1. 控制寄存器:控制寄存器用于配置GPIO引脚的工作模式,比如输入模式、输出模式、中断模式等。通过这些寄存器,我们可以设置引脚的功能和特性,以满足特定的应用需求。
2. 输入寄存器:输入寄存器用于读取GPIO引脚的状态。当我们把某个引脚设置为输入模式时,可以通过读取输入寄存器的值来获取该引脚的电平状态,即高电平(1)或低电平(0)。
3. 输出寄存器:输出寄存器用于设置GPIO引脚的输出状态。当我们把某个引脚设置为输出模式时,可以通过写入输出寄存器的值来设置该引脚的电平状态,从而驱动外部设备或电路。
4. 上拉/下拉电阻寄存器:上拉/下拉电阻寄存器用于配置GPIO引脚的上拉电阻或下拉电阻。这些电阻可以帮助稳定引脚的电平状态,以防止信号漂移或干扰。通过配置这些寄存器,我们可以选择是否使能上拉/下拉电阻,并调整电阻的阻值。
需要注意的是,具体的GPIO寄存器和功能可能因不同的硬件平台或芯片而异。因此,在实际应用中,我们需要参考相应的硬件文档或数据手册,以了解具体的GPIO寄存器和配置方法。同时,编程语言和开发环境通常也会提供相应的库或API,以简化GPIO的操作和管理。例如,在Linux系统中,我们可以通过sysfs接口或GPIO字符设备来访问和控制GPIO引脚。
2024-01-05 14:11:24
2025-02-01 20:24:39
2025-02-12 03:21:37
2025-02-10 15:19:48
2025-01-28 17:58:32
2024-11-22 05:08:01