国产aaaa级全身裸体精油片_337p人体粉嫩久久久红粉影视_一区中文字幕在线观看_国产亚洲精品一区二区_欧美裸体男粗大1609_午夜亚洲激情电影av_黄色小说入口_日本精品久久久久中文字幕_少妇思春三a级_亚洲视频自拍偷拍

首頁(yè) > 化工知識(shí) > 從WiringPi入手學(xué)樹(shù)莓派編程(1)-簡(jiǎn)介

從WiringPi入手學(xué)樹(shù)莓派編程(1)-簡(jiǎn)介

時(shí)間:2020-09-25 來(lái)源:方正智芯 瀏覽:

WiringPi是一個(gè)用C語(yǔ)言編寫(xiě)的樹(shù)莓派(RaspberryPi)軟件包,可用于樹(shù)莓派GPIO引腳控制、串口通信、SPI通信及I2C通信等功能,非常適合熟悉C/C++的人員在樹(shù)莓派上進(jìn)行軟件開(kāi)發(fā)。WiringPi的作者是Gordon Henderson,其官方網(wǎng)址為http://wiringpi.com。WiringPi遵循GNU GPLv3公約,任何人都可以免費(fèi)使用該軟件包。說(shuō)實(shí)話(huà),我在使用WiringPi進(jìn)行樹(shù)莓派程序開(kāi)發(fā)時(shí)感覺(jué)非常方便,在這里也對(duì)作者表示衷心的感謝,我計(jì)劃寫(xiě)一個(gè)系列的文章對(duì)WiringPi進(jìn)行介紹。今天這篇文章,我們先來(lái)認(rèn)識(shí)下WiringPi。

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是直接在樹(shù)莓派32位操作系統(tǒng)Raspbin上開(kāi)發(fā)的,不支持其它操作系統(tǒng)、平臺(tái)或交叉編譯環(huán)境。

http://wiringpi.com/

1、WiringPi的安裝與更新
WiringPi預(yù)裝(Pre-installed)在標(biāo)準(zhǔn)的樹(shù)莓派操作系統(tǒng)Raspbin中。可以使用下面的命令進(jìn)行安裝:

$sudo apt-get install wiringpi
如果需要更新WiringPi,可以使用系統(tǒng)更新命令:
$sudo apt-get update
$sudo apt-get upgrade
WiringPi安裝完成后,可以使用下面的命令測(cè)試是否安裝成功:
$sudo gpio -v
如果系統(tǒng)中安裝了WiringPi,該命令可以顯示出其版本號(hào)、作者及當(dāng)前樹(shù)莓派的一些信息;如下圖所示:

2、WiringPi的引腳定義
WiringPi對(duì)樹(shù)莓派物理引腳進(jìn)行了封裝,定義了一套自己的引腳編號(hào)。
如果要查看當(dāng)前樹(shù)莓派的引腳編號(hào),可以使用如下命令:
$sudo gpio readall
下面這張圖是gpio readall讀出的樹(shù)莓派3B的引腳定義:

樹(shù)莓派的物理引腳、BCM引腳和WiringPi引腳是三種不同的定義,下面這張圖看起來(lái)更清晰美觀一些:

3、WiringPi的庫(kù)函數(shù)
WiringPi提供了很多函數(shù)用于各種功能,包括如下庫(kù):
3.1 WiringPi配置函數(shù)(WiringPi Setup functions);
3.2 WiringPi核心函數(shù)(WiringPi Core functions);
3.3 樹(shù)莓派專(zhuān)用函數(shù)(Raspberry Pi Specific functions);
3.4 時(shí)間函數(shù)(Time functions);
3.5 程序優(yōu)先級(jí)/中斷/線(xiàn)程函數(shù)(Process priority/interrupts/thread functions);
3.6 串口通信庫(kù)函數(shù)(Serial Library functions);
3.7 SPI通信庫(kù)函數(shù)(SPI Library functions);
3.8 I2C通信庫(kù)函數(shù)(IC2 Library functions);
3.9 移位庫(kù)函數(shù)(Shift Library functions);
3.10 軟件PWM庫(kù)函數(shù)(Software PWM Library functions);
3.11 軟件方波/音頻庫(kù)函數(shù)(Software Tone Library functions);
4、WiringPi的使用
要使用WiringPi軟件包,必須包含<wiringPi.h>頭文件,比如:
#include <wiringPi.h>
使用其它函數(shù)庫(kù)時(shí)還需要包含相應(yīng)的頭文件。

比如,要使用串口通信庫(kù)時(shí),需要包含<wiringSerial.h>頭文件;
在編譯源代碼時(shí),需要添加鏈接選項(xiàng) "-lwiringPi";
下面我們編寫(xiě)一個(gè)簡(jiǎn)單的閃爍LED燈的程序。

該代碼來(lái)源于WiringPi官網(wǎng),是一個(gè)最基本的使用WiringPi庫(kù)函數(shù)的程序示例,可以一窺樹(shù)莓派下WiringPi的編程。

LED閃爍燈代碼如下圖所示:

GCC編譯bink.c生成bink程序的代碼如下:
$gcc -o blink blink.c -lwiringPi

好了,關(guān)于WiringPi的第一篇我們就先介紹這么多。后續(xù)文章我們會(huì)介紹WiringPi的庫(kù)函數(shù)及使用例程。

版權(quán):如無(wú)特殊注明,文章轉(zhuǎn)載自網(wǎng)絡(luò),侵權(quán)請(qǐng)聯(lián)系cnmhg168#163.com刪除!文件均為網(wǎng)友上傳,僅供研究和學(xué)習(xí)使用,務(wù)必24小時(shí)內(nèi)刪除。
相關(guān)推薦