使用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语言实现航班售票系统 C语言实现航班管理系统

    C语言实现航班售票系统 C语言实现航班管理系统

    这篇文章主要为大家详细介绍了C语言实现航班售票系统,C语言实现航班管理系统,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2019-12-12
  • C语言实现哈夫曼树的构建

    C语言实现哈夫曼树的构建

    这篇文章主要为大家详细介绍了C语言实现哈夫曼树的构建,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2020-04-04
  • VSCode搭建C/C++编译环境的详细教程

    VSCode搭建C/C++编译环境的详细教程

    Visual Studio Code是一款免费开源的现代化轻量级代码编辑器,支持几乎所有主流的开发语言的语法高亮、智能代码补全、自定义热键、括号匹配、代码片段、代码对比 Diff、GIT 等特性,这篇文章主要介绍了VSCode搭建C/C++编译环境,需要的朋友可以参考下
    2020-05-05
  • C++实现LeetCode(82.移除有序链表中的重复项之二)

    C++实现LeetCode(82.移除有序链表中的重复项之二)

    这篇文章主要介绍了C++实现LeetCode(82.移除有序链表中的重复项之二),本篇文章通过简要的案例,讲解了该项技术的了解与使用,以下就是详细内容,需要的朋友可以参考下
    2021-07-07
  • 纯C语言:分治快速排序源码分享

    纯C语言:分治快速排序源码分享

    这篇文章主要介绍了分治快速排序源码,有需要的朋友可以参考一下
    2014-01-01
  • 一些语言的按行读取文件的代码实现小结

    一些语言的按行读取文件的代码实现小结

    这篇文章主要介绍了一些语言的按行读取文件的代码实现小结,这里罗列了Java和C语言和C++以及PHP的实现需要的朋友可以参考下
    2015-08-08
  • C语言编程中从密码文件获取数据的函数总结

    C语言编程中从密码文件获取数据的函数总结

    这篇文章主要介绍了C语言编程中从密码文件获取数据的函数总结,包括getpw()函数和getpwnam()函数以及getpwuid()函数,需要的朋友可以参考下
    2015-08-08
  • 详解C语言中rand函数的使用

    详解C语言中rand函数的使用

    在编程时我们有时总希望自己产生一个随机数字,以供使用,那么下面介绍rand函数的使用,有需要的可以参考学习。
    2016-08-08
  • C++中与输入相关的istream类成员函数简介

    C++中与输入相关的istream类成员函数简介

    这篇文章主要介绍了C++中与输入相关的istream类成员函数简介,包括eof函数和peek函数以及putback函数还有ignore函数,需要的朋友可以参考下
    2015-09-09
  • 如何在C++中建立一个顺序表

    如何在C++中建立一个顺序表

    在使用顺序表之前,首先创建一个空的顺序表,也就是初始化顺序表。这里,在程序中只需设置顺序表的结点数量ListLen为0即可。这样,后面需要添加的数据元素将从顺序表的第一个位置存储
    2013-10-10

最新评论