树莓派4b Linux内核源码调试,【树莓派4B测评】树莓派4引脚功能以及操作方法

【树莓派4B测评】树莓派4引脚功能以及操作方法

[复制链接]

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

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

a26d678767e8b431ecd7a25f1936bdc5.gif

raspberry-pi-pinout.png (25.65 KB, 下载次数: 0)

2020-9-23 22:26 上传

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

命名方案

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

1. WiringPi 编号

2. BCM编号

3. 物理编号(Physical – Number)

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

a26d678767e8b431ecd7a25f1936bdc5.gif

rpi-pins-40-0.png (206.08 KB, 下载次数: 0)

2020-9-23 22:26 上传

操作接口主要有两种库: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号物理引脚电平每秒翻转一次。

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

WiringPi库:

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

sudo apt-get install wiringpi

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

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

#include

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引脚一秒翻转一次。

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

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值