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 -v 或 gpio 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,见准备篇:
五、编译运行
使用下列指令编译。-o led表示指定生成文件的名字为led,-lwiringPi表示链接wiringPi库。
gcc led.c -o led -lwiringPi
使用如下命令运行:
./led
使用如下组合键,结束运行。
Ctrl + c