树莓派开发之旅 (七)【C开发之WiringPi库】

本文介绍了wiringPi库,这是一个用于树莓派的C语言库,简化了GPIO访问。内容包括库的安装、使用说明、函数解析,以及通过C语言控制LED亮灭的实例。wiringPi支持多种编码方式和功能,如软件PWM、I2C、SPI和中断处理。
摘要由CSDN通过智能技术生成

目录

【wiringPi库简介】

【wiringPi库安装】

【使用说明】

【具体函数解析】

【树莓派引脚编码】

        1.板载编码

        2.BCM编码

        3.wiringPi编码

【小试牛刀:C开发控制LED亮灭(一)】


【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 说明并未安装,安装方法如下:

        在CLI中输入下面命令

sudo apt-get update
sudo apt-get upgrade
sudo apt-get install wiringpi

        再次验证是否有该库,若输出wiringPi相关信息则说明安装成功,否则尝试下面命令
        或者使用gpio readall命令无效时,使用该命令进行更新

wget https://project-downloads.drogon.net/wiringpi-latest.deb
sudo dpkg -i wiringpi-latest.deb

【使用说明】

        1.使用该库时需包含头文件

#include<wiringPi.h>

        2.使用该库时需在执行任何操作前进行初始化,需要root权限
           初始化函数如下,它们都会返回一个int , 返回 -1 表示初始化失败

int wiringPiSetup (void)        # 使用 WiringPi 引脚编号表,引脚的编号为 0~16
int wiringPiSetupGpio (void)    # 使用 BCM 引脚编号表,引脚的编号为 0~16

        3.使用该库时,编译时需加上链接,示例如下

gcc demo.c -lwiringPi

          更标准的写法

gcc -o 新文件名 demo.c -lwiringPi    // 怀疑有误
gcc demo.c -o 新文件名 -lwiringPi    // 可能是
gcc demo.c -lwiringPi -o 新文件名    // 可能是
sudo ./新文件名    # root权限进行执行

【具体函数解析】

https://www.cnblogs.com/lulipro/p/5992172.html

WiringPi安装及使用详解 | 德琳工程狮

【树莓派引脚编码】

        1.板载编码

        2.BCM编码

                Python开发使用的GPIO编码

        3.wiringPi编码

                C语言开发使用的GPIO编码           (若在gpio后加上-g,则表示用的是BCM编码)

 详情跳转:Raspberry Pi GPIO Pinout

【小试牛刀: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     # 设置该引脚为低电平

【小试牛刀: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权限进行执行
  • 1
    点赞
  • 23
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
### 回答1: 树莓派wiringpipython是一种用于树莓派的GPIO控制,它可以通过Python语言来控制树莓派的GPIO引脚,实现各种功能。这个提供了丰富的API,可以方便地读取和写入GPIO引脚的状态,还可以设置引脚的工作模式和中断等。使用树莓派wiringpipython可以让开发者更加方便地开发树莓派应用程序。 ### 回答2: 树莓派WiringPiPython是树莓派模型B及以后版本的IO控制,它可以通过C、C++和Python等编程语言控制树莓派的GPIO口,实现电路的输入和输出操作。WiringPi提供许多IO输入和输出模式,可以满足各种不同的应用场景。 Python是一种高级编程语言,拥有简单直观的语法,易于学习和使用。WiringPi和Python的结合,使得树莓派IO口的控制更加方便,即使没有C或C++的编程基础,也可以通过Python轻松地控制树莓派的IO口。 使用树莓派WiringPiPython进行GPIO口的编程和控制,需要先安装WiringPi和Python的开发环境。安装完成后,可以通过Python进行GPIO口的操作。例如,对于GPIO口PIN0,可以通过以下代码实现输出操作: import wiringpi wiringpi.wiringPiSetup() wiringpi.pinMode(0, 1) wiringpi.digitalWrite(0, 1) 上述代码首先调用wiringpiwiringPiSetup()方法初始化系统,然后使用pinMode()方法设置PIN0为输出模式,最后使用digitalWrite()方法将PIN0的输出电平设置为高电平。 除了输出操作外,WiringPiPython还可以实现GPIO口的输入操作,读取输入电平,并根据输入电平的状态进行相应的操作。例如,以下代码实现了读取GPIO口PIN1的输入值: import wiringpi wiringpi.wiringPiSetup() wiringpi.pinMode(1, 0) value = wiringpi.digitalRead(1) print(value) 上述代码中,通过pinMode()方法设置GPIO口PIN1为输入模式,然后使用digitalRead()方法读取PIN1引脚的输入电平状态,并将结果输出。 总之,树莓派WiringPiPython具有简单、易用、功能丰富等特点,可以帮助用户实现各种不同的GPIO口控制应用。 ### 回答3: 树莓派是一款非常受欢迎的单板式计算机,许多人使用它来实现各种小型项目。要让树莓派与各种外部设备通信,需要使用GPIO(广义输入/输出)引脚。为了更轻松地编写GPIO控制的代码,可以使用WiringPi,该包含了C语言和Python语言的API。 WiringPi提供了简单的方法来控制树莓派的GPIO引脚。基于WiringPi,可以轻松地编写LED闪烁、按钮检测、舵机控制等常见的GPIO通信应用程序。 使用WiringPi的Python接口,可以使用Python编写与WiringPi兼容的代码。Python是一种流行的高级编程语言,拥有简单的语法、易于编写和调试的软件。使用WiringPi的Python接口,开发人员可以使用Python语言编写GPIO引脚控制程序,提供更快、更灵活、更快的开发流程。 WiringPi的Python接口提供简单的API,以控制引脚的状态。对于初学者来说,这些API十分重要。通过编写简单的代码块,开发人员可以轻松地控制每个引脚的状态,以及设置处理和输入事件的回调函数。 该包含了WiringPi-Python命令行工具,使用户可以轻松地使用命令行控制GPIO引脚,有助于测试和调试。 总之,WiringPiPython是一种非常强大的工具,允许开发人员编写树莓派上运行的GPIO控制的Python应用程序,快速开发原型,以及进行快速的研发和迭代。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值