前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >全志R329开发板点灯教程

全志R329开发板点灯教程

作者头像
阿志小管家
发布2024-02-20 09:38:32
1550
发布2024-02-20 09:38:32
举报
文章被收录于专栏:全志嵌入式那些事

点灯

等成功用串口或者ADB连接开发板之后,就可以通过终端命令对开发板进行控制了。

接下来会介绍Tina Linux系统封装几个模块,您可以通过命令启动这几个模块的demo,操控终端几个模块的软硬件。首先是我们大学单片机课程中的必修课:点灯

R329支持LEDC,LEDC全称 “Light Emitting Diode Controller”,是借助Linux LED标准子系统实现的LED控制模块,可以对LED灯进行点亮、亮度调节、闪烁、阵列控制等操作。LEDC模块在无屏幕智能音箱上用得很多,比如在等待配对、唤醒、音乐播放等场景,LED灯会以不同的效果表示当前状态。

内置固件已经编译好了LEDC模块,可以直接对LED节点进行控制从而点亮LED灯。

进入LED灯路径

首先,我们可以进入LED节点的位置查看一个LED灯三个颜色的节点(R G B):

代码语言:javascript
复制
root@TinaLinux:/# cd /sys/class/leds/
root@TinaLinux:/sys/class/leds# ls
sunxi_led0b  sunxi_led0g  sunxi_led0r

查看LED灯的配置

三个节点分别代三个颜色,我们可以进入一个颜色节点,比如红色(R):

代码语言:javascript
复制
root@TinaLinux:/sys/class/leds# cd sunxi_led0r/
root@TinaLinux:/sys/devices/platform/soc/ledc/leds/sunxi_led0r# ls
brightness      device          subsystem
delay_off       max_brightness  trigger
delay_on        power           uevent

可以看到LEDC已经做好了很多LEDC的基本操作,包括亮度调节、闪烁、延时等。

点亮一个灯

如果我们要点亮其中一个颜色,可以把亮度值写到 brightness 里,亮度值最高为255:

代码语言:javascript
复制
root@TinaLinux:/sys/devices/platform/soc/ledc/leds/sunxi_led0r# echo 255 > brightness

此时LED灯会被点亮

调节亮度

如果要调节亮度值的话,只需调节写到 brightness 的值即可,亮度值范围为0~255,0代表熄灭,255代表最亮:

代码语言:javascript
复制
root@TinaLinux:/sys/devices/platform/soc/ledc/leds/sunxi_led0r# echo 255 > brightness
root@TinaLinux:/sys/devices/platform/soc/ledc/leds/sunxi_led0r# echo 100 > brightness
root@TinaLinux:/sys/devices/platform/soc/ledc/leds/sunxi_led0r# echo 10 > brightness
root@TinaLinux:/sys/devices/platform/soc/ledc/leds/sunxi_led0r# echo 0 > brightness

点亮其它颜色的灯

如果要点亮其它颜色的灯 ,只需要参照红灯,将亮度值写到绿灯和蓝灯的 **brightness ** 里即可:

代码语言:javascript
复制
root@TinaLinux:/sys/class/leds# echo 255 > sunxi_led0g/brightness
root@TinaLinux:/sys/class/leds# echo 0 > sunxi_led0g/brightness
root@TinaLinux:/sys/class/leds# echo 255 > sunxi_led0b/brightness
root@TinaLinux:/sys/class/leds# echo 0 > sunxi_led0b/brightness

闪烁

如果要实现LED灯闪烁的效果,把 timer 写到 trigger 即可:

代码语言:javascript
复制
root@TinaLinux:/sys/class/leds# echo timer > sunxi_led0r/trigger

如果你看到灯亮了,那么恭喜你,它将照亮你嵌入式开发学习的路。

LED灯阵列操作、模块配置、源码结构、内外部接口等进阶操作请见开发文档《Tina Linux LED开发指南》

同时,还可以使用三个PWM接口对LED的三色灯进行控制,但需要占用较多的引脚和资源。

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2024-02-19,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 点灯
    • 进入LED灯路径
      • 查看LED灯的配置
        • 点亮一个灯
          • 调节亮度
            • 点亮其它颜色的灯
              • 闪烁
              领券
              问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档