使用C语言操作树莓派GPIO的详细步骤

 更新时间:2021年06月08日 16:39:44   作者:波雅_汉库克  
今天抽空给大家普及使用C语言操作树莓派GPIO的详细步骤,本文大概分五步给大家介绍树莓派GPIO安装步骤,首先需要安装GPIO库然后进行一步步设置,具体操作方法跟随小编一起学习吧

第一步安装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设置

打开GPIO,学习嘛,全打开得了。

保存重启。

第三步找一个GPIO的图

然后找一张树莓派GPIO的图,对照GPIO图写代码了。

看上图GPIO对应的WiringPi数字。

第四步写代码

这个就是代码中使用的GPIO的代号。上代码。

设置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这个库中的函数可以查看文档,里面函数写的很清楚。

第五步,编译执行

-lwiringPi是链接wiringPi库

-lpthread链接线程库

最后一步执行     ./led 

gcc testLED.c -o led -lwiringPi -lpthread 

题外话

要是使用vim编写代码,其实对新手来说是很痛苦的,所以推荐vscode。

我自己的环境,使用ssh链接树莓派使用vscode编辑代码,然后编译执行。现在vscode支持远程ssh编辑代码,

远程树莓派写的代码,至于使用什么插件,百度一下吧,我也忘了,安装额的插件太多了忘记了。

以上就是使用C语言操作树莓派GPIO的详细内容,更多关于C语言操作树莓派GPIO的资料请关注脚本之家其它相关文章!

相关文章

  • C++ using namespace std 用法深入解析

    C++ using namespace std 用法深入解析

    以下是对C++中using namespace std的用法进行了详细的分析介绍,需要的朋友可以过来参考下
    2013-07-07
  • Qt重写QComboBox实现下拉展示多列数据

    Qt重写QComboBox实现下拉展示多列数据

    这篇文章主要为大家详细介绍了Qt如何重写QComboBox实现下拉展示多列数据,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下
    2024-11-11
  • c++使用Easyx图形库实现飞机大战

    c++使用Easyx图形库实现飞机大战

    本文详细讲解了c++使用Easyx图形库实现飞机大战,文中通过示例代码介绍的非常详细。对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2021-12-12
  • C++堆栈类模板实现代码

    C++堆栈类模板实现代码

    这篇文章主要为大家详细介绍了C++堆栈类模板的实现代码,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2018-12-12
  • C++中的单例模式介绍

    C++中的单例模式介绍

    单例模式也称为单件模式、单子模式,可能是使用最广泛的设计模式。其意图是保证一个类仅有一个实例,并提供一个访问它的全局访问点,该实例被所有程序模块共享
    2013-03-03
  • 详解C++中的异常和错误处理机制

    详解C++中的异常和错误处理机制

    在C++编程中,异常处理和错误处理机制是非常重要的,它们可以帮助程序员有效地处理运行时错误和异常情况,本文就来介绍一下C++中的异常处理和错误处理机制吧
    2023-05-05
  • Qt实现文件的压缩和解压缩操作

    Qt实现文件的压缩和解压缩操作

    这篇文章主要为大家详细介绍了如何使用Qt库中的QZipReader和QZipWriter实现文件的压缩和解压缩功能,文中的示例代码简洁易懂,需要的可以参考一下
    2024-12-12
  • 面向对象三大特性的意义讲解

    面向对象三大特性的意义讲解

    今天小编就为大家分享一篇关于面向对象三大特性的意义讲解,小编觉得内容挺不错的,现在分享给大家,具有很好的参考价值,需要的朋友一起跟随小编来看看吧
    2018-12-12
  • Opencv透视变换综合实例详解

    Opencv透视变换综合实例详解

    这篇文章主要为大家详细介绍了Opencv透视变换综合实例,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2019-05-05
  • c++中try catch的用法小结

    c++中try catch的用法小结

    这篇文章主要介绍了c++中try catch的用法小结,需要的朋友可以参考下
    2018-01-01

最新评论