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

树莓派使用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以上文件我也只能截图了):


  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值