4633|5

1560

帖子

24

TA的资源

五彩晶圆(初级)

楼主
 

BB Black 入门基础之Eclipse C++ 控制LED灯(下) [复制链接]

本帖最后由 lonerzf 于 2014-1-13 10:29 编辑 今天趁时间还有一些赶紧把下写完。 还记得昨天的两篇吗? 如果成功了,就做这个吧,点亮LED灯。 LED灯在哪呢,其实人家做BeagleBone的时候都考虑得很好啦,许多东西都已经做好了,GPIO什么的直接写参数就能配置。以后还会遇到 Device Tree 这类的东西呢。当然,现在用不着这么急写驱动,也没必要,这东西得慢慢来嘛,先上手再说。可以看看,在/sys/class/ 下有不少有用的东西。 进入这个目录,咱们选择LED3
  1. cd /sys/class/leds/beaglebone\:green\:usr3

复制代码
然后使用超级用户进行操作 sudo -s 注意:并不建议把文件权限改成可读。还是用sudo吧 试试这条指令
  1. sudo -s

    echo 1 > brightness

复制代码
怎么样,LED3点起来了没? 关闭LED3就是这个指令
  1. echo 0 > brightness
复制代码
有兴趣的可以去看看,文件brightness其实就0或1而已,控制LED 开关。 上面几步没问题吧?那好,写程序啦(帖子不支持井号,这里用?代替)
  1. ?include <iostream>
  2. ?include <stdio.h>
  3. ?include <unistd.h>
  4. using namespace std;
  5. int main() {
  6. cout << " BeagleBone Black! " << endl;
  7. cout << " LEDs Flash Start!" << endl; // prints !!!Hello World!!!
  8. FILE *LEDHandle = NULL;
  9. char *LEDBrightness = "/sys/class/leds/beaglebone\:green\:usr3/brightness"; //这个就是咱们刚才进的目录啊。brightness是要操作的文件
  10. for(int i =0; i<10; i++)
  11. {
  12. if( (LEDHandle = fopen(LEDBrightness, "r+")) != NULL )
  13. {
  14. fwrite("1", sizeof(char), 1, LEDHandle); //写1 表示点亮LED
  15. fclose(LEDHandle);
  16. }
  17. sleep(1);
  18. if( (LEDHandle = fopen(LEDBrightness, "r+")) != NULL )
  19. {
  20. fwrite("0", sizeof(char), 1, LEDHandle); //写0表示关LED
  21. fclose(LEDHandle);
  22. }
  23. sleep(1);
  24. }
  25. cout << " LEDs Flash Stop!" << endl; // prints !!!Hello World!!!
  26. return 0;
  27. }
复制代码
然后就是那一系列的过程了。这里就不调试了,直接Run。那么注意配置要稍稍改下。 这里我还是不好把握,就这样吧。为了方便,默认就这样了,要做修改的时候再说。呵呵。 这里讲一个实用操作,有时候要运行程序没必要在切换到其他终端下操作,Eclipse就成。 我是这么做的。 运行下试试。 ??? 灯闪了没? 有字符显示,但是LED没有闪?那就对了。上面已经提到过了,权限不够嘛。 怎么办? 1 进入终端去运行 2 SSH以root用户登录(先给你的ROOT用户设置密码 sudo -s passwd root 两条指令) 然后Remote System 属性里边将登录ID改成root. 准备好Run了没? Go!!! 庆祝吧,乡亲们~ 好了,LED就这么轻松点亮了。有时候看着挺难的东西,就差有人指点一下,知道了以后发现原来很简单。这一点我深有体会,所以希望更多的人能分享交流,大家共同进步。 这部分到这里吧,就到这里了。{:soso_e100:}

最新回复

呵呵 真的很好 大家一起学习  有共同的平台 可以互相交流。  详情 回复 发表于 2014-1-14 10:24
点赞 关注(2)
个人签名这孩子,成熟的象征,理智的典范。
 

回复
举报

2781

帖子

419

TA的资源

五彩晶圆(中级)

沙发
 
收藏了。非常给了{:soso__12164246374883971248_7:}{:soso__15904350229934150267_1:}{:soso__15578244191900139802_2:}
个人签名
 
 

回复

1173

帖子

3

TA的资源

五彩晶圆(初级)

板凳
 
楼主请教一下,你做linux相关开发都是在Eclipse开发环境下做的吗?俺是个新手,在刚刚开始学呢,但是就是看的相关资料和教材大都是基于命令模式的,而且需要window编写代码和linux编译,然后再下载到开发板上呢,感觉很难上手。看了楼主Eclipse平台感觉就和习惯的window下做开发一样的。就是疑惑一点是Eclipse平台开发和命令模式linux开发最终结果是一样的吗?请教了,谢谢!

点评

命令行模式跟图形开发环境不一样在哪呢?都一样啊,无非是命令行模式下更节省系统资源,而图形界面开发对大部分不熟练的人来说更方便一些,配置属性,选择编译器,接下来点运行调试就行。 至于结果,代码都自己编写  详情 回复 发表于 2014-1-14 08:31
 
 
 

回复

1560

帖子

24

TA的资源

五彩晶圆(初级)

4
 
ou513 发表于 2014-1-14 08:17
楼主请教一下,你做linux相关开发都是在Eclipse开发环境下做的吗?俺是个新手,在刚刚开始学呢,但是就是看 ...

命令行模式跟图形开发环境不一样在哪呢?都一样啊,无非是命令行模式下更节省系统资源,而图形界面开发对大部分不熟练的人来说更方便一些,配置属性,选择编译器,接下来点运行调试就行。
至于结果,代码都自己编写,编译器用的也都一样。那结果还有什么不一样的。
个人签名这孩子,成熟的象征,理智的典范。
 
 
 

回复

1173

帖子

3

TA的资源

五彩晶圆(初级)

5
 
非常感谢指点,以后就多跟着楼主学习学习,这样的开发环境感觉容易上手很多了,多多指教,谢谢!
 
 
 

回复

2万

帖子

71

TA的资源

管理员

6
 
呵呵 真的很好 大家一起学习  有共同的平台 可以互相交流。
加EE小助手好友,
入技术交流群
EE服务号
精彩活动e手掌握
EE订阅号
热门资讯e网打尽
聚焦汽车电子软硬件开发
认真关注技术本身
个人签名

加油!在电子行业默默贡献自己的力量!:)

 
 
 

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

随便看看
查找数据手册?

EEWorld Datasheet 技术支持

相关文章 更多>>
关闭
站长推荐上一条 1/9 下一条

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: 国产芯 安防电子 汽车电子 手机便携 工业控制 家用电子 医疗电子 测试测量 网络通信 物联网

北京市海淀区中关村大街18号B座15层1530室 电话:(010)82350740 邮编:100190

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2025 EEWORLD.com.cn, Inc. All rights reserved
快速回复 返回顶部 返回列表