使用C語(yǔ)言操作樹(shù)莓派GPIO的詳細(xì)步驟
第一步安裝GPIO庫(kù)。
cd /tmp wget https://project-downloads.drogon.net/wiringpi-latest.deb sudo dpkg -i wiringpi-latest.deb
地址鏈接4B的
http://wiringpi.com/wiringpi-updated-to-2-52-for-the-raspberry-pi-4b/
第二步打開(kāi)GPIO設(shè)置
打開(kāi)GPIO,學(xué)習(xí)嘛,全打開(kāi)得了。
保存重啟。
第三步找一個(gè)GPIO的圖
然后找一張樹(shù)莓派GPIO的圖,對(duì)照GPIO圖寫代碼了。
看上圖GPIO對(duì)應(yīng)的WiringPi數(shù)字。
第四步寫代碼
這個(gè)就是代碼中使用的GPIO的代號(hào)。上代碼。
設(shè)置GPIO17和GPIO18交替閃爍。
#include <wiringPi.h> #include <softPwm.h> #include <stdio.h> #define uchar unsigned char #define uint unsigned int #define LedPinRed 0 #define LedPinGreen 1 void ledInit() { softPwmCreate(LedPinRed,0,100); softPwmCreate(LedPinGreen,10,100); } void ledColorSet(uchar r_val, uchar g_val) { softPwmWrite(LedPinRed,r_val); softPwmWrite(LedPinGreen,g_val); } int main() { int i = 0; if(wiringPiSetup() == 1) { printf("Setup wiringPi failed!!"); return 1; } ledInit(); while(1) { ledColorSet(0xff,0x00); delay(500); ledColorSet(0x00,0xff); delay(500); } return 0; }
wiringPi這個(gè)庫(kù)中的函數(shù)可以查看文檔,里面函數(shù)寫的很清楚。
第五步,編譯執(zhí)行
-lwiringPi是鏈接wiringPi庫(kù)
-lpthread鏈接線程庫(kù)
最后一步執(zhí)行 ./led
gcc testLED.c -o led -lwiringPi -lpthread
題外話
要是使用vim編寫代碼,其實(shí)對(duì)新手來(lái)說(shuō)是很痛苦的,所以推薦vscode。
我自己的環(huán)境,使用ssh鏈接樹(shù)莓派使用vscode編輯代碼,然后編譯執(zhí)行?,F(xiàn)在vscode支持遠(yuǎn)程ssh編輯代碼,
遠(yuǎn)程樹(shù)莓派寫的代碼,至于使用什么插件,百度一下吧,我也忘了,安裝額的插件太多了忘記了。
以上就是使用C語(yǔ)言操作樹(shù)莓派GPIO的詳細(xì)內(nèi)容,更多關(guān)于C語(yǔ)言操作樹(shù)莓派GPIO的資料請(qǐng)關(guān)注腳本之家其它相關(guān)文章!
相關(guān)文章
C++使用alsa庫(kù)實(shí)現(xiàn)播放聲音文件
這篇文章主要為大家詳細(xì)介紹了Linux系統(tǒng)上C++如何使用alsa庫(kù)播放聲音文件,文中示例代碼講解詳細(xì),感興趣的小伙伴可以跟隨小編一起學(xué)習(xí)一下2024-04-04C語(yǔ)言實(shí)現(xiàn)十進(jìn)制轉(zhuǎn)任意進(jìn)制的代碼詳解
這篇文章主要介紹了C語(yǔ)言實(shí)現(xiàn)十進(jìn)制轉(zhuǎn)任意進(jìn)制,運(yùn)用一個(gè)數(shù)組,通過(guò)數(shù)字每次取任意進(jìn)制模,存在數(shù)組中, 再通過(guò)倒取數(shù)組中的數(shù)值,來(lái)實(shí)現(xiàn)進(jìn)制轉(zhuǎn)換,如果遇到十六進(jìn)制,利用ASCII碼值 數(shù)字字符和大寫字母 相差55的特性來(lái)解決,文中有詳細(xì)代碼示例,需要的朋友可以參考下2024-05-05C/C++讀寫注冊(cè)表中二進(jìn)制數(shù)據(jù)(代碼示例)
這篇文章主要介紹了使用Windows API 函數(shù)中的RegOpenKeyEx()函數(shù)和RegSetValueEx()函數(shù)來(lái)實(shí)現(xiàn)對(duì)注冊(cè)表某項(xiàng)寫入二進(jìn)制鍵值,需要的朋友可以參考下2020-02-02Qt音視頻開(kāi)發(fā)之視頻文件保存功能的實(shí)現(xiàn)
和音頻存儲(chǔ)類似,視頻的存儲(chǔ)也對(duì)應(yīng)三種格式,視頻最原始的數(shù)據(jù)是yuv(音頻對(duì)應(yīng)pcm),視頻壓縮后的數(shù)據(jù)是h264(音頻對(duì)應(yīng)aac)。本文將利用Qt實(shí)現(xiàn)視頻文件保存功能,感興趣的可以了解一下2022-12-12