Git例程源码仓库:/ZhiliangMa/raspberry.git
电脑需要提前安装的工具:
SSH、串口 - 终端神器MobaXterm,官网下载链接:/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例程源码仓库:/ZhiliangMa/raspberry.git
使用到的函数有:
#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); // 延时500msdigitalWrite(led, 0); // led灭delay(500); // 延时500ms}return 0;}
通过MobaXterm,使用FTP,将led.c传输到树莓派文件夹内。
如何使用 FTP,见准备篇:/Mark_md/article/details/107113372
五、编译运行
使用下列指令编译。-o led表示指定生成文件的名字为led,-lwiringPi表示链接wiringPi库。
gcc led.c -o led -lwiringPi
使用如下命令运行:
./led
使用如下组合键,结束运行。
Ctrl + c