使用C語言操作樹莓派GPIO的詳細(xì)步驟
第一步安裝GPIO庫。
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/

第二步打開GPIO設(shè)置

打開GPIO,學(xué)習(xí)嘛,全打開得了。

保存重啟。
第三步找一個(gè)GPIO的圖
然后找一張樹莓派GPIO的圖,對照GPIO圖寫代碼了。

看上圖GPIO對應(yīng)的WiringPi數(shù)字。

第四步寫代碼
這個(gè)就是代碼中使用的GPIO的代號。上代碼。
設(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è)庫中的函數(shù)可以查看文檔,里面函數(shù)寫的很清楚。
第五步,編譯執(zhí)行

-lwiringPi是鏈接wiringPi庫
-lpthread鏈接線程庫
最后一步執(zhí)行 ./led
gcc testLED.c -o led -lwiringPi -lpthread
題外話
要是使用vim編寫代碼,其實(shí)對新手來說是很痛苦的,所以推薦vscode。
我自己的環(huán)境,使用ssh鏈接樹莓派使用vscode編輯代碼,然后編譯執(zhí)行?,F(xiàn)在vscode支持遠(yuǎn)程ssh編輯代碼,

遠(yuǎn)程樹莓派寫的代碼,至于使用什么插件,百度一下吧,我也忘了,安裝額的插件太多了忘記了。
以上就是使用C語言操作樹莓派GPIO的詳細(xì)內(nèi)容,更多關(guān)于C語言操作樹莓派GPIO的資料請關(guān)注腳本之家其它相關(guān)文章!
相關(guān)文章
C語言實(shí)現(xiàn)十進(jìn)制轉(zhuǎn)任意進(jìn)制的代碼詳解
這篇文章主要介紹了C語言實(shí)現(xiàn)十進(jìn)制轉(zhuǎn)任意進(jìn)制,運(yùn)用一個(gè)數(shù)組,通過數(shù)字每次取任意進(jìn)制模,存在數(shù)組中, 再通過倒取數(shù)組中的數(shù)值,來實(shí)現(xiàn)進(jìn)制轉(zhuǎn)換,如果遇到十六進(jìn)制,利用ASCII碼值 數(shù)字字符和大寫字母 相差55的特性來解決,文中有詳細(xì)代碼示例,需要的朋友可以參考下2024-05-05
C/C++讀寫注冊表中二進(jìn)制數(shù)據(jù)(代碼示例)
這篇文章主要介紹了使用Windows API 函數(shù)中的RegOpenKeyEx()函數(shù)和RegSetValueEx()函數(shù)來實(shí)現(xiàn)對注冊表某項(xiàng)寫入二進(jìn)制鍵值,需要的朋友可以參考下2020-02-02
Qt音視頻開發(fā)之視頻文件保存功能的實(shí)現(xiàn)
和音頻存儲類似,視頻的存儲也對應(yīng)三種格式,視頻最原始的數(shù)據(jù)是yuv(音頻對應(yīng)pcm),視頻壓縮后的數(shù)據(jù)是h264(音頻對應(yīng)aac)。本文將利用Qt實(shí)現(xiàn)視頻文件保存功能,感興趣的可以了解一下2022-12-12

