查看: 2575|回复: 2

【BPI-M2 Berry试用】硬件操作——点灯

[复制链接]
  • TA的每日心情
    慵懒
    2023-6-28 14:17
  • 签到天数: 299 天

    连续签到: 1 天

    [LV.8]以坛为家I

    发表于 2017-10-14 17:18:52 | 显示全部楼层 |阅读模式
    分享到:
    本人作为c++的死忠,一向使用wiringpi库,RPI的粉丝可以移步可乐大神的试用贴。
    前段时间发现ubuntu系统自带大名鼎鼎的wiringPi库,经过官方定制,使用方法和树莓派下几乎是一模一样,看来点灯也是件相当容易的事情。
    我们可以参考wiringpi的官网:http://wiringpi.com/

    (一)硬件
    我们可以通过命令行查看引脚:
    1. gpio readall
    复制代码
    这里我们使用0号引脚
    (二)程序
    官网中提到,调用wiringpi首先要初始化:
    参考:http://wiringpi.com/reference/setup/
    1. There are four ways to initialise wiringPi.

    2. int wiringPiSetup (void) ;
    3. int wiringPiSetupGpio (void) ;
    4. int wiringPiSetupPhys (void) ;
    5. int wiringPiSetupSys (void) ;
    复制代码
    所以,首先要调用wiringPiSetup 。
    其次,要设置gpio的输出方式:
    参考:http://wiringpi.com/reference/core-functions/
    1. void pinMode (int pin, int mode) ;
    复制代码
    更改电平状态可以使用:
    1. void digitalWrite (int pin, int value) ;
    复制代码
    当然也可以用下面这个函数设置上下拉,我这里出于简单起见,没有设置:
    1. void pullUpDnControl (int pin, int pud) ;
    复制代码
    最后,头文件当然要包括wiringPi.h。
    整个程序:
    1. #include <wiringPi.h>

    2. int main()
    3. {
    4.         // 初始化wiringPi  
    5.         wiringPiSetup();

    6.         int i = 0;
    7.         // 设置IO口全部为输出状态  
    8.         pinMode(i, OUTPUT);

    9.         for (;;)
    10.         {
    11.                 // 点亮500ms 熄灭500ms  
    12.                 digitalWrite(i, HIGH); delay(500);
    13.                 digitalWrite(i, LOW); delay(500);
    14.         }

    15.         return 0;
    16. }
    复制代码
    (三)编译运行
    1. gcc gpio.c  -o gpio -lwiringPi
    复制代码
    结果出现以下错误:
    _QJJRLE%8%G(W}%W`3G_P9S.png
    我们可以man一下这些错误:
    1. man crypt
    复制代码
    结果,可以看到,crypt的调用需要-lcrypt库。
    以此类推,总共所需要的库有:
    1. -lwiringPi -lcrypt -lrt -lpthread -lm
    复制代码
    所以真正的编译命令:
    1. gcc gpio.c  -o gpio -lwiringPi -lcrypt -lrt -lpthread -lm
    复制代码
    这里要加上这么多有点意外,在树莓派上是不需要的,可能是banana官方对wiringpi库改造的过程中改变了某些功能。
    接着我们就可以看到灯在一闪一闪的。


    回复

    使用道具 举报

  • TA的每日心情
    无聊
    2017-10-18 20:34
  • 签到天数: 19 天

    连续签到: 4 天

    [LV.4]偶尔看看III

    发表于 2017-10-15 17:36:33 | 显示全部楼层
    一灯大师 您好!
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    慵懒
    2023-6-28 14:17
  • 签到天数: 299 天

    连续签到: 1 天

    [LV.8]以坛为家I

     楼主| 发表于 2017-10-15 21:15:47 | 显示全部楼层
    lygoing 发表于 2017-10-15 17:36
    一灯大师 您好!

    看来下次要点两个灯
    回复 支持 反对

    使用道具 举报

    您需要登录后才可以回帖 注册/登录

    本版积分规则

    关闭

    站长推荐上一条 /2 下一条



    手机版|小黑屋|与非网

    GMT+8, 2024-3-19 16:21 , Processed in 0.130137 second(s), 20 queries , MemCache On.

    ICP经营许可证 苏B2-20140176  苏ICP备14012660号-2   苏州灵动帧格网络科技有限公司 版权所有.

    苏公网安备 32059002001037号

    Powered by Discuz! X3.4

    Copyright © 2001-2020, Tencent Cloud.