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

树莓派开发之旅 (七)【C开发之WiringPi库】本文介绍了 wiringPi 库 这是一个用于树莓派的 C 语言库 简化了 GPIO 访问

大家好,欢迎来到IT知识分享网。

目录

【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 
wget https://project-downloads.drogon.net/wiringpi-latest.deb sudo dpkg -i wiringpi-latest.deb 

【使用说明】

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

#include<wiringPi.h>
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编码)

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

树莓派开发之旅 (七)【C开发之WiringPi库】 详情跳转:Raspberry Pi GPIO Pinout

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

【小试牛刀: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开发之WiringPi库】

【小试牛刀: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权限进行执行

免责声明:本站所有文章内容,图片,视频等均是来源于用户投稿和互联网及文摘转载整编而成,不代表本站观点,不承担相关法律责任。其著作权各归其原作者或其出版社所有。如发现本站有涉嫌抄袭侵权/违法违规的内容,侵犯到您的权益,请在线联系站长,一经查实,本站将立刻删除。 本文来自网络,若有侵权,请联系删除,如若转载,请注明出处:https://haidsoft.com/122657.html

(0)
上一篇 2025-10-15 07:45
下一篇 2025-10-15 08:10

相关推荐

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注微信