首页 » 软件开发 » 从WiringPi入手学树莓派编程(1)-简介(引脚库函数北岛入手函数)

从WiringPi入手学树莓派编程(1)-简介(引脚库函数北岛入手函数)

雨夜梧桐 2024-07-25 00:52:38 0

扫一扫用手机浏览

文章目录 [+]

WiringPi作者Gordon Henderson声明:

WiringPi is developed directly on a Raspberry Pi running 32-bit Raspbian. I do not support any other platform, cross compiling or operating systems.

翻译:WiringPi是直接在树莓派32位操作系统Raspbin上开发的,不支持其它操作系统、平台或交叉编译环境。

从WiringPi入手学树莓派编程(1)-简介(引脚库函数北岛入手函数) 软件开发
(图片来自网络侵删)

1、WiringPi的安装与更新WiringPi预装(Pre-installed)在标准的树莓派操作系统Raspbin中。
可以使用下面的命令进行安装:

$sudo apt-get install wiringpi如果需要更新WiringPi,可以使用系统更新命令:$sudo apt-get update$sudo apt-get upgradeWiringPi安装完成后,可以使用下面的命令测试是否安装成功:$sudo gpio -v如果系统中安装了WiringPi,该命令可以显示出其版本号、作者及当前树莓派的一些信息;如下图所示:

gpio -v命令

2、WiringPi的引脚定义WiringPi对树莓派物理引脚进行了封装,定义了一套自己的引脚编号。
如果要查看当前树莓派的引脚编号,可以使用如下命令:$sudo gpio readall下面这张图是gpio readall读出的树莓派3B的引脚定义:

树莓派的物理引脚、BCM引脚和WiringPi引脚是三种不同的定义,下面这张图看起来更清晰美观一些:

引脚定义

3、WiringPi的库函数WiringPi提供了很多函数用于各种功能,包括如下库:3.1 WiringPi配置函数(WiringPi Setup functions);3.2 WiringPi核心函数(WiringPi Core functions);3.3 树莓派专用函数(Raspberry Pi Specific functions);3.4 时间函数(Time functions);3.5 程序优先级/中断/线程函数(Process priority/interrupts/thread functions);3.6 串口通信库函数(Serial Library functions);3.7 SPI通信库函数(SPI Library functions);3.8 I2C通信库函数(IC2 Library functions);3.9 移位库函数(Shift Library functions);3.10 软件PWM库函数(Software PWM Library functions);3.11 软件方波/音频库函数(Software Tone Library functions);4、WiringPi的使用要使用WiringPi软件包,必须包含<wiringPi.h>头文件,比如:#include <wiringPi.h>使用其它函数库时还需要包含相应的头文件。

比如,要使用串口通信库时,需要包含<wiringSerial.h>头文件;在编译源代码时,需要添加链接选项 "-lwiringPi";下面我们编写一个简单的闪烁LED灯的程序。

该代码来源于WiringPi官网,是一个最基本的使用WiringPi库函数的程序示例,可以一窥树莓派下WiringPi的编程。

LED闪烁灯代码如下图所示:

GCC编译bink.c生成bink程序的代码如下:$gcc -o blink blink.c -lwiringPi

好了,关于WiringPi的第一篇我们就先介绍这么多。
后续文章我们会介绍WiringPi的库函数及使用例程。
如果你喜欢这篇文章,可以去官网(https://www.founderchip.com/)下载本文PDF版本。

相关文章

语言中的借用,文化交融的桥梁

自古以来,人类社会的交流与发展离不开语言的传播。在漫长的历史长河中,各民族、各地区之间的文化相互碰撞、交融,产生了许多独特的语言现...

软件开发 2025-01-01 阅读1 评论0

机顶盒协议,守护数字生活的新卫士

随着科技的飞速发展,数字家庭逐渐走进千家万户。在这个时代,机顶盒成为了连接我们与丰富多彩的数字世界的重要桥梁。而机顶盒协议,作为保...

软件开发 2025-01-01 阅读1 评论0

语言基础在现代社会的重要性及方法步骤

语言是人类沟通的桥梁,是社会发展的基础。语言基础作为语言学习的基石,对于个人、社会乃至国家的发展具有重要意义。本文将从语言基础在现...

软件开发 2025-01-01 阅读2 评论0

粤语电影,传承文化,点亮时代之光

粤语电影,作为中国电影产业的一朵奇葩,以其独特的地域特色、丰富的文化内涵和鲜明的艺术风格,赢得了广大观众的喜爱。本文将从粤语电影的...

软件开发 2025-01-01 阅读3 评论0

苹果游戏语言,塑造未来娱乐体验的基石

随着科技的飞速发展,游戏产业逐渐成为全球娱乐市场的重要支柱。在我国,游戏产业更是蓬勃发展,吸引了无数玩家和投资者的目光。而在这其中...

软件开发 2025-01-01 阅读1 评论0