12826|2

655

帖子

29

TA的资源

版主

楼主
 

【树莓派4B测评】树莓派4引脚功能以及操作方法 [复制链接]

 
本帖最后由 lb8820265 于 2020-9-23 22:35 编辑

树莓派与其他PC类的Linux系统最大的区别就是树莓派拥有众多的外设接口,包括GPIO、SPI、I2C、UART、PWM。可以连接更多的硬件,下图是树莓派支持的外设图:

由于树莓派操作外设接口并不是直接操作寄存器,而是调用第三方库,从这个方面来说树莓派并不能完全称之为开源。

命名方案

树莓派接口的有三种命名方案:

1. WiringPi 编号

2. BCM编号

3. 物理编号(Physical – Number)

WiringPi 编号是功能接线的引脚号(如TXD、PWM0等等);BCM编号是 Broadcom 针脚号,也即是通常称的GPIO;物理编号是PCB板上针脚的物理位置对应的编号(1~40)。详细如下所示。

操作接口主要有两种库:Python GPIO库和WiringPi库。

Python库:

Python GPIO已经集成到了树莓派内核,为树莓派官方资料中推荐且容易上手。PythonGPIO是一个小型的Python库,可以帮助用户完成raspberry相关IO口操作,比如引脚电平输入,电平输出,外部电平中断检测,PWM输出。但是PythonGPIO库还没有支持SPI、I2C等总线接口。

树莓派默认是安装了PythonGPIO库,如果没有可以输入:

Sudo apt-get install python-rpi.gpio

打开Thonny输入如下代码:

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)

作用为让11号物理引脚电平每秒翻转一次。

想了解更多可以访问官方的例程库:

https://sourceforge.net/p/raspberry-gpio-python/wiki/Examples/

WiringPi库:

树莓派操作系统默认安装了wiringpi,如果没有,输入如下命令:

sudo apt-get install wiringpi

wiringPi适合那些具有C语言基础,在接触树莓派之前已经接触过单片机或者嵌入式开发的人群。可以操作所有的外设接口。

在文档编辑器中输入如下代码:

#include <wiringPi.h>
int main (void)
{
  wiringPiSetup () ;
  pinMode (0, OUTPUT) ;//0是指WiringPi编号0,等于物理编号11
  for (;;)
  {
    digitalWrite (0, HIGH) ; delay (500) ;
    digitalWrite (0,  LOW) ; delay (500) ;
  }
  return 0 ;
}

保存为blink.c,然后在终端中输入如下代码:

gcc -Wall -o blink blink.c -lwiringPi
sudo ./blink

该代码的效果就是将物理引脚11引脚一秒翻转一次。

想了解更多可以访问官方的例程库:

http://wiringpi.com/

最新回复

看着很像arduino的操作风格   详情 回复 发表于 2020-9-24 21:24
点赞(1) 关注
个人签名QQ:252669569
 
 

回复
举报

6040

帖子

196

TA的资源

版主

沙发
 

感谢分享!

 
 
 

回复

7608

帖子

18

TA的资源

五彩晶圆(高级)

板凳
 

看着很像arduino的操作风格

个人签名

默认摸鱼,再摸鱼。2022、9、28

 
 
 

回复
您需要登录后才可以回帖 登录 | 注册

随便看看
查找数据手册?

EEWorld Datasheet 技术支持

相关文章 更多>>
关闭
站长推荐上一条 1/9 下一条

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: 国产芯 安防电子 汽车电子 手机便携 工业控制 家用电子 医疗电子 测试测量 网络通信 物联网

北京市海淀区中关村大街18号B座15层1530室 电话:(010)82350740 邮编:100190

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2025 EEWORLD.com.cn, Inc. All rights reserved
快速回复 返回顶部 返回列表