树莓派资料
显示屏资料
系统下载
树莓派Pico
首页 动态 发帖 版块 我的
 退出
游客  
等级:
金币:
经验值:

树莓派安装wiringPi库 及Python与C使用例程

  13042 
 0
 0
RASPI   RASPI 

wiringPi库简介

wiringPi 是一个强大而灵活的C语言库,为树莓派和其他基于 Linux 的系统提供了简化的GPIO访问接口,并支持各种功能,使得物理计算和硬件交互变得更加便捷。


wiringPi库的主要特点:


1、简化的GPIO访问:wiringPi 提供了简单而直观的功能,允许开发者轻松地配置和使用树莓派的GPIO引脚。通过几个简单的函数调用,可以设置引脚模式(输入/输出)、读取和写入引脚状态,以及处理中断。


2、跨平台支持:wiringPi 不仅仅适用于树莓派,它还可跨平台运行在其他基于 Linux 的系统上。这使得你可以在其他支持 wiringPi 的硬件上使用相同的代码,轻松移植项目。


3、底层访问:wiringPi 使用底层的 BCM2835 芯片库,提供对树莓派 GPIO 的低级别访问。这使得它能够实现更高精度的计时和更快的响应速度。


4、支持丰富的功能:wiringPi 不仅支持基本的GPIO操作,还提供了其他功能,如软件PWM(脉冲宽度调制)、软件I2C、软件SPI、中断处理等。这些功能使开发者能够更方便地与各种外设进行通信。

wiringPi库安装

 验证是否有该库:在CLI中输入下面命令,若输出wiringPi相关信息则说明已有该库

gpio -v

若显示command not found 说明并未安装,安装方法如下:

1.第一步,先新建一个存放wiringPi源码的文件夹,这里我们命名为work

mkdir work

Image

依次输入下面四条命令,1.先进入work文件夹,2.获取wiringPi源码,3.再进入wiringPi文件夹,4.执行安装指令

cd work/
git clone https://github.com/WiringPi/WiringPi.git
cd WiringPi/
./build

 Image

Image

安装完成后,用下面命令检查下是否成功

5.查看WirinPi的版本信息命令

gpio -v

6.查看树莓派GPIO引脚信息命令

gpio readall

Image

树莓派GPIO引脚编码

1.功能名为板载GPIO编码,其中Python开发使用的就是GPIO编码。

2.如果使用C语言开发则是wiringPi编码,若在gpio后加上-g,则表示用的是BCM编码)

Image


详情跳转:Raspberry Pi GPIO Pinout

Python示例:控制LED亮灭

接线方式:将LED的正极接GPIO18,负极接GND。执行代码如下:


import RPi.GPIO as GPIO   #导入树莓派提供的python模块

import time   #导入时间包,用于控制闪烁

GPIO.setmode(GPIO.BCM)   #设置GPIO模式,BCM模式在所有数码派通用

GPIO.setup(18, GPIO.OUT)   #设置GPIO18为电流输出

while True:

    GPIO.output(18, GPIO.HIGH)   #GPIO18 输出高电平3.3V

    time.sleep(0.05)   #程序控制流程睡眠0.05秒

    GPIO.output(18, GPIO.LOW)    #GPIO18 输出0V

    time.sleep(0.05)   #程序控制流程睡眠0.05秒

C程序示例:控制LED亮灭

接线方式:将LED正极接3.3V,负极接BCM编码的4号引脚上。执行代码如下:

gpio -g mode 4 out    # 设置引脚为输出模式,-g表示BCM编码,若去掉-g则为WiringPi编码
gpio -g read 4        # 读取引脚当前电平
gpio -g write 4 1     # 设置该引脚为高电平
gpio -g write 4 0     # 设置该引脚为低电平

Image

C程序示例:控制LED亮灭(二)

#include<wiringPi.h>
#define Pin 25
int main()
{
    if(wiringPiSetup() == -1)
        return -1;
    pinMode(Pin,OUTPUT);
    for(int i=0;i<10;i++)
    {
        digitalWrite(Pin,1);
        delay(200);
        digitalWrite(Pin,0);
        delay(200);
    }
    return 0;
}

gcc -o 新文件名 demo.c -lwiringPi
sudo ./新文件名    # root权限进行执行


更多资源

WiringPi


标签:
作者签名: raspi.cc   楼主  2024-06-08 13:56:59
回复列表
Powered by RASPI _VERSION
© 2017-2024 树莓派极客版权
您的IP: 44.222.134.250 , 2024-10-06 09:45:16
Powered by RASPI _VERSION
© 2017-2024 树莓派极客版权