树莓派教程 - 1.0 树莓派GPIO库wiringPi 点亮LED

    技术2023-10-19  94

    Git例程源码仓库:https://github.com/ZhiliangMa/raspberry.git

    电脑需要提前安装的工具:

    SSH、串口 - 终端神器 MobaXterm,官网下载链接:https://mobaxterm.mobatek.net/download.html

    windows端 代码编辑工具: VScode、Source Insight、Sublime, 都是不错的选择。选其一安装即可。

    使用到的硬件:

    led,200Ω左右的电阻、杜邦线。

     

    在树莓派上控制GPIO,最简单的方式莫过于使用 wiringPi函数库了。

    wiringPi简介

    -- wiringPi是一个用c语言编写的GPIO函数库。起初只是作为芯片的GPIO库,而发展到今天,wiringPi提供了非常丰富的功能:GPIO、UART、I2C、SPI、PWM等,同时也提供了中断、多线程等操作,功能非常强大。

    -- wiringPi的函数类似于 Arduino,十分容易上手。使用c/c++进行开发,并且可以被其他语言转换,例如python。

     

    一、获取wiringPi

    终端输入 gpio -vgpio readall,来查看本机是否安装了 wiringpi.

    如果指令相应错误,则是没有安装。使用下面命令进行安装。

    sudo apt-get inatall wiringpi

     

    二、GPIO管脚编码

    wiringPi函数库的管脚编码,大致分为几种:1.wiringPi编码  2.BCM编码  3.物理引脚编码

    int wiringPiSetup (void) ;             //设置使用 wiringPi编码。

    int wiringPiSetupGpio (void) ;     // 设置使用 BCM编码。

    int wiringPiSetupPhys (void) ;     // 设置使用 物理引脚编码,不常用。

     

    三、硬件连接

    我们使用 wiringPi编码的 7脚,输出0/3.3V电平,来控制LED的亮灭。

    LED的压降为 2V左右,限制单个GPIO的输出电流在5mA左右,电阻的取值为 200~680Ω较为合适。

    led的阳极串联200Ω电阻,连接到树莓派wiringPi编码的7脚。(一定要区分wiringPi编码 、BCM编码 、和物理引脚编码

     

    四、编写c代码

    Git例程源码仓库:https://github.com/ZhiliangMa/raspberry.git

    使用到的函数有

    函数语句函数功能wiringPiSetup();使用wiring编码去初始化GPIO序号pinMode(int pin, int mode);设置GPIO电气属性digitalWrite(int pin, int value);设置一个数字引脚,输出指定电平delay(unsigned int howLong);延时 xx ms #include <wiringPi.h> int led = 7; // 定义使用wiringPi编码的7引脚 int main(void) { wiringPiSetup(); // 使用wiring编码去初始化GPIO序号 pinMode(led, OUTPUT); // 设置GPIO电气属性为推挽输出 while(1) { digitalWrite(led, 1); // led亮 delay(500); // 延时500ms digitalWrite(led, 0); // led灭 delay(500); // 延时500ms } return 0; }

    通过MobaXterm,使用FTP,将led.c传输到树莓派文件夹内。

    如何使用 FTP,见准备篇:https://blog.csdn.net/Mark_md/article/details/107113372

     

    五、编译运行

    使用下列指令编译。-o led表示指定生成文件的名字为led,-lwiringPi表示链接wiringPi库。

    gcc led.c -o led -lwiringPi

    使用如下命令运行

    ./led

    使用如下组合键,结束运行

    Ctrl + c

    Processed: 0.013, SQL: 9