Firefly开源社区

12
发表新贴
打印 上一主题 下一主题

【Firefly-RK3399 试用体验】06-点个灯

148

积分

3

威望

0

贡献

技术小白

积分
148

【Firefly-RK3399 试用体验】06-点个灯

发表于 2017-8-21 16:36:55      浏览:21551 | 回复:13        打印      只看该作者   [复制链接] 楼主
本帖最后由 F_Developer_X 于 2017-8-21 16:36 编辑

一、简介

      在嵌入式Linux中,LED接口非常普遍,但由于它的特殊性,LED接口的使用和标准的Linux接口存在较大的差异。对于([url=]Firefly-RK3399[/url])LED操作接口位于/sys/class/leds目录下。


  此目录下包含了关LEF操作的目录,其中包含了Firefly-RK3399板子上的两颗LED灯,分别是firefly:blue:powerfirefly:yellow:user,从命名上可以很容易看出,蓝色的LED用于电源指示,黄色的LED默认是用户自定义的。



     查看下官方的原理图,两颗LED都是高电平驱动。




二、LED的操作接口

   firefly:blue:power为例,进入该目录,该目录有以下内容:


    firefly:blue:power目录下主要文件的作用介绍如下表所示。


     所以,要点亮或者关闭LED,只需要在对应的LED的目录下,往brightness写入10即可。如下图所示,首先查看trigger文件,确认LED处于“none”模式,可以被用户控制,然后切换至管理员模式,只有管理员有权限操作LED。通过ehco 0 > brightness命令可以控制LED熄灭。



三、C语言实现LED闪烁

     C语言中操作LED就和读写文件是一样的,也是先设置trigger属性,再操作brightness属性。代码如下:



  将代码复制到firefly-rk3399中,使用gcc进行编译,得到可执行文件。



   执行LED可执行文件的时候,将要操作的LED灯的名字作为参数输入,即可实现该LED的闪烁。




四、结果




回复

使用道具 举报

71

积分

0

威望

0

贡献

技术小白

积分
71
发表于 2018-10-30 09:05:14        只看该作者  沙发
顶一下楼主!
回复

使用道具 举报

76

积分

0

威望

0

贡献

技术小白

积分
76
发表于 2018-10-30 16:04:55        只看该作者  板凳
可以在串口中断点亮LED,但是用C语言实现有问题啊:在宿主机上ubuntu14.04中用交叉编译工具编译好,下载到firefly-rk3399执行是显示 没有权限?我是超级用户模式的啊??
回复

使用道具 举报

6

积分

0

威望

0

贡献

技术小白

积分
6
发表于 2019-8-22 13:51:12        只看该作者  地板
请问这个程序是开发板的那个系统下,或者什么环境下运行的?
回复

使用道具 举报

19

积分

0

威望

0

贡献

技术小白

积分
19
发表于 2019-9-18 02:57:32        只看该作者  5#
你好,方便加个微信吗?348460102,请教个问题,非常感谢
回复

使用道具 举报

50

积分

0

威望

0

贡献

技术小白

积分
50
发表于 2019-9-27 18:58:45        只看该作者  6#
诶?
不是写个python
echo 1 > /sys/class/leds/firefly\:yellow\:user/brightness
echo 0 > /sys/class/leds/firefly\:yellow\:user/brightness
不就 OJBK 了?
回复

使用道具 举报

8

积分

0

威望

0

贡献

技术小白

积分
8
发表于 2019-11-26 00:12:14        只看该作者  7#
我的应用与楼主有点不同,我是在Recovery中需要闪烁LED灯,感觉楼主说得很清楚,感谢
回复

使用道具 举报

28

积分

0

威望

0

贡献

技术小白

积分
28
发表于 2019-12-3 15:15:34        只看该作者  8#
学习
回复

使用道具 举报

789

积分

0

威望

0

贡献

技术大神

Rank: 3Rank: 3

积分
789
发表于 2019-12-4 10:06:15        只看该作者  9#
jidan 发表于 2018-10-30 16:04
可以在串口中断点亮LED,但是用C语言实现有问题啊:在宿主机上ubuntu14.04中用交叉编译工具编译好,下载到f ...

没记错的话好象是下载到开发板上的文件要用 chmod 给个可执行权限。
回复

使用道具 举报

43

积分

0

威望

0

贡献

技术小白

积分
43
发表于 2020-5-28 14:40:41        只看该作者  10#
good
回复

使用道具 举报

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

本版积分规则

友情链接 : 爱板网 电子发烧友论坛 云汉电子社区 粤ICP备14022046号-2
快速回复 返回顶部 返回列表