爱板网论坛

查看: 265|回复: 2

[原创] 【BPI-M2 Berry试用】硬件操作——点灯

[复制链接]

11

主题

0

好友

352

积分

秀才

Rank: 3Rank: 3

  • TA的每日心情
    慵懒
    2017-12-6 11:26
  • 签到天数: 40 天

    连续签到: 1 天

    [LV.5]常住居民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库改造的过程中改变了某些功能。
    接着我们就可以看到灯在一闪一闪的。


    回复

    使用道具 举报

    2

    主题

    1

    好友

    203

    积分

    秀才

    Rank: 3Rank: 3

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

    连续签到: 4 天

    [LV.4]偶尔看看III

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

    使用道具 举报

    11

    主题

    0

    好友

    352

    积分

    秀才

    Rank: 3Rank: 3

  • TA的每日心情
    慵懒
    2017-12-6 11:26
  • 签到天数: 40 天

    连续签到: 1 天

    [LV.5]常住居民I

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

    看来下次要点两个灯
    回复

    使用道具 举报

    您需要登录后才可以回帖 登录 | 立即注册

    关闭

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

    手机版|爱板网 |网站地图  

    GMT+8, 2017-12-15 01:05 , Processed in 0.164709 second(s), 12 queries , Memcache On.

    苏公网安备 32059002001056号

    Powered by Discuz!

    回顶部