首页 > 后端开发 > 正文

“GPIO”是什么,和单片机、ARM上的“引脚”有什么区别?

2024-02-24 15:44:24 | 我爱编程网

我爱编程网小编给大家带来了“GPIO”是什么,和单片机、ARM上的“引脚”有什么区别?相关文章,一起来看一下吧。

本文目录一览:

“GPIO”是什么,和单片机、ARM上的“引脚”有什么区别?

“GPIO”是什么,和单片机、ARM上的“引脚”有什么区别?

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了,以示区别。

“GPIO”是什么,和单片机、ARM上的“引脚”有什么区别?

树莓派怎么样用 Python 控制 GPIO 来发送串口指令

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芯片。

“GPIO”是什么,和单片机、ARM上的“引脚”有什么区别?

gpio包含哪些寄存器

GPIO包含的主要寄存器有控制寄存器、输入寄存器、输出寄存器和上拉/下拉电阻寄存器。

GPIO,即通用输入/输出,是一种接口类型,可用于在计算机和其他数字系统之间传输数据。GPIO通过一组寄存器来控制和管理输入和输出信号。这些寄存器通常包括以下几类:

1. 控制寄存器:控制寄存器用于配置GPIO引脚的工作模式,比如输入模式、输出模式、中断模式等。通过这些寄存器,我们可以设置引脚的功能和特性,以满足特定的应用需求。

2. 输入寄存器:输入寄存器用于读取GPIO引脚的状态。当我们把某个引脚设置为输入模式时,可以通过读取输入寄存器的值来获取该引脚的电平状态,即高电平(1)或低电平(0)。

3. 输出寄存器:输出寄存器用于设置GPIO引脚的输出状态。当我们把某个引脚设置为输出模式时,可以通过写入输出寄存器的值来设置该引脚的电平状态,从而驱动外部设备或电路。

4. 上拉/下拉电阻寄存器:上拉/下拉电阻寄存器用于配置GPIO引脚的上拉电阻或下拉电阻。这些电阻可以帮助稳定引脚的电平状态,以防止信号漂移或干扰。通过配置这些寄存器,我们可以选择是否使能上拉/下拉电阻,并调整电阻的阻值。

需要注意的是,具体的GPIO寄存器和功能可能因不同的硬件平台或芯片而异。因此,在实际应用中,我们需要参考相应的硬件文档或数据手册,以了解具体的GPIO寄存器和配置方法。同时,编程语言和开发环境通常也会提供相应的库或API,以简化GPIO的操作和管理。例如,在Linux系统中,我们可以通过sysfs接口或GPIO字符设备来访问和控制GPIO引脚。

以上就是我爱编程网小编给大家带来的“GPIO”是什么,和单片机、ARM上的“引脚”有什么区别?,希望能对大家有所帮助。
与““GPIO”是什么,和单片机、ARM上的“引脚”有什么区别?”相关推荐
什么是AR编程,什么是趣味编程?有什么区别?
什么是AR编程,什么是趣味编程?有什么区别?

什么是AR编程,什么是趣味编程?有什么区别?AR编程和趣味编程有以下区别:1.定义和应用领域:AR编程是指增强现实(AugmentedReality)的开发和应用,它主要关注于通过虚拟元素与现实世界进行交互和融合。而趣味编程则强调通过编程学习和创造有趣的项目,培养学生的编程兴趣和创造力。2.技术要求和工具:AR编程通常需要使用特定的AR开发工具和技术,如ARKit、ARCore等

2024-02-01 07:35:44
python if和while的区别有哪些
python if和while的区别有哪些

pythonif和while的区别有哪些pythonif和while的区别有哪些?下面给大家具体介绍:1、用法while和if本身就用法不同,一个是循环语句,一个是判断语句。2、运行模式if只做判断,判断一次之后,便不会再回来了。while的话,循环,直到结果为false,才跳出来。相关推荐:《Python教程》3、使用效果链表的结构,要

2024-01-24 06:07:08
在RoboDK中,程序指令和Python仿真编程有什么区别
在RoboDK中,程序指令和Python仿真编程有什么区别

在RoboDK中,程序指令和Python仿真编程有什么区别实时仿真通常的做法是需要将模型编译生成源代码,然后下载到实时仿真机中生成可执行的程序,然后周期的运行这么一个过程。python中定义变量的时候,不需要在变量前声明变量类型,而C语言和JAVA需要,主要是因为python是一个动态语言,变量的类型取决于值的类型,也就是说值了类型决定了变量的类型如下图所示。因此定义变量时必须给变量

2024-02-03 11:30:35
python考到什么级别是全国计算机二级
python考到什么级别是全国计算机二级

python考到什么级别是全国计算机二级考到二级,Python二级全称为全国计算二级Python语言程序设计,是全国计算机二级考试的其中一类,考试成绩合格之后便会拥有一份国家二级证书。目前含金量比较高的Python证书是1.阿里python工程师实习证书。2.腾讯python工程师实习证书。3.字节python工程师实习证书。4.美团python工程师实习证书,毕竟做项目的硬技术比证书更重要

2024-02-07 13:18:39
猿编程和核桃编程的的区别,哪个更适合八岁的孩子?
猿编程和核桃编程的的区别,哪个更适合八岁的孩子?

猿编程和核桃编程的的区别,哪个更适合八岁的孩子?猿编程和核桃编程都是少儿编程的在线教育平台,其主要目的是让孩子们在学习编程的过程中习得计算思维,并获得编程中的乐趣。两者之间的最大区别在于课程设置和教学方式。猿编程适合八岁以上的孩子上学习编程课程。其课程设置更为全面和系统化,包括Scratch编程入门、Web开发、Python编程、机器人编程以及APP开发等课程。猿编程的授课方式是一对

2023-12-25 09:21:33
python字典类型的英文单词是什么
python字典类型的英文单词是什么

python字典类型的英文单词是什么python字典类型的英文单词是:dict。在Python中,字典这种数据类型的英文叫做“dict”,有的语言里它的名称是“hash”。字典是编程中最常用的数据结构之一。它是用来做映射或者存储你需要的键值对,这样当你需要的时候,你可以通过key来获取它的值。同样,程序员不会使用一个像“字典”这样的术语,来称呼那些不能像一个写满词汇的真实字

2024-01-22 11:34:12
Python中,怎么在字符串里嵌入双引号或者单引号
Python中,怎么在字符串里嵌入双引号或者单引号

Python中,怎么在字符串里嵌入双引号或者单引号1、新建python文件,teststr.py;2、在双引号前面加个转义符\,即反斜杠。如"Hello \"W\"orld",会输出 Hello"W"orld;3、用单引号引起整个字符串,如'Hello"W"orld',同样输出  Hello"W"orld;4、同理也可以在字符串里嵌入单引号,如"Hello'

2023-12-30 17:55:02
手机有什么python编译器
手机有什么python编译器

手机有什么python编译器现在越来越多人学习python,很多小伙伴都富有激情的,利用碎片化的时间都要学习,大家都知道pyhton是简单易学的,但是光说不练,假把式,最好能编程并且运行,最好能有一款在手机上可以随时随地编写python代码,而且功能齐全的app。下面为大家列举几种,我知道的手机上的python编辑器。(推荐学习:Python视频教程)Android系统:Pyt

2024-01-02 09:09:03