<?xml version="1.0" encoding="UTF-8"?><rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:atom="http://www.w3.org/2005/Atom" version="2.0"><channel><title><![CDATA[点灯—R329智能语音开发板入门]]></title><description><![CDATA[<p dir="auto">转载自：<a href="https://aijishu.com/a/1060000000191874" target="_blank" rel="noopener noreferrer nofollow ugc">https://aijishu.com/a/1060000000191874</a><br />
等成功用串口或者ADB连接开发板之后，就可以通过终端命令对开发板进行控制了。</p>
<p dir="auto">接下来会介绍Tina Linux系统封装几个模块，您可以通过命令启动这几个模块的demo，操控终端几个模块的软硬件。首先是我们大学单片机课程中的必修课：点灯</p>
<p dir="auto">R329支持LEDC，LEDC全称 “Light Emitting Diode Controller”，是借助Linux LED标准子系统实现的LED控制模块，可以对LED灯进行点亮、亮度调节、闪烁、阵列控制等操作。LEDC模块在无屏幕智能音箱上用得很多，比如在等待配对、唤醒、音乐播放等场景，LED灯会以不同的效果表示当前状态。</p>
<p dir="auto">内置固件已经编译好了LEDC模块，可以直接对LED节点进行控制从而点亮LED灯。</p>
<p dir="auto"><strong>进入LED灯路径</strong><br />
首先，我们可以进入LED节点的位置查看一个LED灯三个颜色的节点（R G B）：</p>
<p dir="auto">root@TinaLinux:/# cd /sys/class/leds/<br />
root@TinaLinux:/sys/class/leds# ls<br />
sunxi_led0b  sunxi_led0g  sunxi_led0r</p>
<p dir="auto"><img src="/assets/uploads/files/1616567510219-24e3d48d-c0fb-4698-bbad-6de58979f78a-image.png" alt="24e3d48d-c0fb-4698-bbad-6de58979f78a-image.png" class=" img-responsive img-markdown" width="395" height="86" /></p>
<p dir="auto"><strong>查看LED灯的配置</strong><br />
三个节点分别代三个颜色，我们可以进入一个颜色节点，比如红色（R）：</p>
<p dir="auto">root@TinaLinux:/sys/class/leds# cd sunxi_led0r/<br />
root@TinaLinux:/sys/devices/platform/soc/ledc/leds/sunxi_led0r# ls<br />
brightness      device          subsystem<br />
delay_off       max_brightness  trigger<br />
delay_on        power           uevent</p>
<p dir="auto"><img src="/assets/uploads/files/1616567547079-6503f945-c86c-41d1-a239-3abe05d7f770-image.png" alt="6503f945-c86c-41d1-a239-3abe05d7f770-image.png" class=" img-responsive img-markdown" width="676" height="105" /></p>
<p dir="auto"><strong>可以看到LEDC已经做好了很多LEDC的基本操作，包括亮度调节、闪烁、延时等。</strong></p>
<p dir="auto"><strong>点亮一个灯</strong><br />
如果我们要点亮其中一个颜色，可以把亮度值写到 brightness 里，亮度值最高为255：</p>
<p dir="auto">root@TinaLinux:/sys/devices/platform/soc/ledc/leds/sunxi_led0r# echo 255 &gt; brightness<br />
此时LED灯会被点亮</p>
<p dir="auto"><img src="/assets/uploads/files/1616567570797-54b88b6b-a8dd-425c-9b14-ab7e295fcae2-image.png" alt="54b88b6b-a8dd-425c-9b14-ab7e295fcae2-image.png" class=" img-responsive img-markdown" width="738" height="665" /></p>
<p dir="auto"><strong>调节亮度</strong><br />
如果要调节亮度值的话，只需调节写到 brightness 的值即可，亮度值范围为0~255，0代表熄灭，255代表最亮：</p>
<p dir="auto">root@TinaLinux:/sys/devices/platform/soc/ledc/leds/sunxi_led0r# echo 255 &gt; brightness<br />
root@TinaLinux:/sys/devices/platform/soc/ledc/leds/sunxi_led0r# echo 100 &gt; brightness<br />
root@TinaLinux:/sys/devices/platform/soc/ledc/leds/sunxi_led0r# echo 10 &gt; brightness<br />
root@TinaLinux:/sys/devices/platform/soc/ledc/leds/sunxi_led0r# echo 0 &gt; brightness</p>
<p dir="auto"><img src="/assets/uploads/files/1616567594143-af72cbe4-c1be-480d-aa2e-7443c4fb2ba8-image.png" alt="af72cbe4-c1be-480d-aa2e-7443c4fb2ba8-image.png" class=" img-responsive img-markdown" width="809" height="163" /></p>
<p dir="auto"><img src="/assets/uploads/files/1616567606083-4bbdf1d8-2b50-4fb7-944e-9d697006c6f5-image.png" alt="4bbdf1d8-2b50-4fb7-944e-9d697006c6f5-image.png" class=" img-responsive img-markdown" width="1286" height="732" /></p>
<p dir="auto"><strong>点亮其它颜色的灯</strong><br />
如果要点亮其它颜色的灯 ，只需要参照红灯，将亮度值写到绿灯和蓝灯的 brightness 里即可：</p>
<p dir="auto">root@TinaLinux:/sys/class/leds# echo 255 &gt; sunxi_led0g/brightness<br />
root@TinaLinux:/sys/class/leds# echo 0 &gt; sunxi_led0g/brightness<br />
root@TinaLinux:/sys/class/leds# echo 255 &gt; sunxi_led0b/brightness<br />
root@TinaLinux:/sys/class/leds# echo 0 &gt; sunxi_led0b/brightness</p>
<p dir="auto"><img src="/assets/uploads/files/1616567624455-6c9ef336-6d3f-46d3-ade6-14cfe8e8f733-image.png" alt="6c9ef336-6d3f-46d3-ade6-14cfe8e8f733-image.png" class=" img-responsive img-markdown" width="666" height="82" /></p>
<p dir="auto"><img src="/assets/uploads/files/1616567634450-bdc23a46-5c7e-442b-940f-26d383a569e5-image.png" alt="bdc23a46-5c7e-442b-940f-26d383a569e5-image.png" class=" img-responsive img-markdown" width="960" height="726" /></p>
<p dir="auto"><strong>闪烁</strong><br />
如果要实现LED灯闪烁的效果，把 timer 写到 trigger 即可：</p>
<p dir="auto">root@TinaLinux:/sys/class/leds# echo timer &gt; sunxi_led0r/trigger<br />
<strong>如果你看到灯亮了，那么恭喜你，它将照亮你嵌入式开发学习的路。</strong></p>
<p dir="auto">LED灯阵列操作、模块配置、源码结构、内外部接口等进阶操作请见开发文档《Tina Linux LED开发指南》：《Tina Linux LED开发指南》下载</p>
<p dir="auto">同时，还可以使用三个PWM接口对LED的三色灯进行控制，但需要占用较多的引脚和资源。</p>
<p dir="auto">温馨tips：如想了解更多R329相关开发信息<br />
点击查看  全志科技R329智能语音开发板详细资料<br />
<a href="https://r329.docs.allwinnertech.com/zh_CN/latest/" target="_blank" rel="noopener noreferrer nofollow ugc">https://r329.docs.allwinnertech.com/zh_CN/latest/</a></p>
]]></description><link>https://bbs.aw-ol.com/topic/19/点灯-r329智能语音开发板入门</link><generator>RSS for Node</generator><lastBuildDate>Sat, 11 Apr 2026 14:28:06 GMT</lastBuildDate><atom:link href="https://bbs.aw-ol.com/topic/19.rss" rel="self" type="application/rss+xml"/><pubDate>Wed, 24 Mar 2021 06:36:15 GMT</pubDate><ttl>60</ttl></channel></rss>