您的位置:首页 > 编程语言 > ASP

树莓派使用WiringPi实现LED灯闪烁

2014-10-03 22:39 489 查看
树莓派使用WiringPi实现LED灯闪烁

前几天入手树莓派,刷了系统就想做一些有趣的事情。

工具:一个LED发光二极管(各颜色皆可,我选用的是3V绿色的)
一个定值电阻(为了树莓派的安全,建议使用,具体多少根据情况而定,我没有使用)
母对母杜邦线2根(可选)
一个树莓派且已烧好系统

首先安装WiringPi,安装过程不再赘述。

然后写一个简单的代码。

要是不知道WiringPi各个函数的作用可以参考



下载地址:百度网盘下载

如果链接不能用请告诉我

源代码如下:

#include
#include
#include
int main(int argc,char *argv[])

{
unsigned int pinNum,times,t,i=0;
char userchoice;
if(wiringPiSetup() == -1) return 1;
if(argc == 1)
{
printf("您没有输入GPIO号,但是程序需要一个合法的
GPIO号(且在WiringPi中的定义)\n您需要查看WiringPi中的GPIO与实际树莓派之间的映射
吗?[y/n]\n\n请输入:");
scanf("%c",&userchoice);
if(userchoice=='y') system("gpio readall");
else ;
printf("那么现在,请输入GPIO号(在WiringPi中的定
义):");
scanf("%d",&pinNum);
}
else pinNum=atoi(argv[1]);
pinMode(pinNum,OUTPUT);system("clear");
printf("请设置LED闪烁的次数:");
scanf("%d",×);
printf("请设置LED闪烁间隔的时间(毫秒):");
scanf("%d",&t);
printf("开始闪烁......\n");
for(i=0;i


$vim myfirstLED.c

编辑完之后wq保存退出

编译:

$gcc -Wall myfirstLED.c -o MyFirstLED -lwiringPi

!!注意不加 -lwiringPi 参数会报错

运行一下

#./MyFirstLED 1

我设置闪烁次数为50000次

闪烁间隔为50ms

可以使用

$gpio readall

命令来查看当前机型的GPIO以及在WiringPi中的定义

因为我选的是GPIO 1,所以我需要把LED接在针脚8和针脚12上(我的杜邦线在路上,没办法只能用手接)

我一开始并不知道怎么找针脚1,百度了以后明白:

把树莓派倒置,看针脚的焊点,有一个是方形焊点,其余的都是圆形的,那个方形的代表针脚1,它旁边那个代表针脚2,以此类推。这个是可以跨机型的方法。

如图所示:



最主要的是wPi和Physical。

至于每一项什么意思手册中都有介绍。

当然你要是觉得每次看映射关系太麻烦,可以参考手册更改程序。

效果图(由于不让上传2M以上文件我也只能截图了):




内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息