ESP32-S2-Saola-1 的闪灯
<div class='showpostmsg'><p>ESP32-S2-Saola-1 上没有使用传统的LED做指示灯,而是使用了一个WS2812。好处是占用IO少,显示的颜色丰富,缺点是时序比较复杂。对于circuitpython的ESP32-S2 移植,因为目前的版本固件还不支持底层的 neopixel_write 函数,也就无法直接使用 WS2812,需要等版本升级才能使用。</p><p> </p>
<p>对于普通LED,驱动就比较容易。不过在circuitpython中,使用方法和micropython有较大区别。首先需要import digitalio,然后定义digitalio.DigitalInOut实例,并将IO的方向定义为输出(digitalio.Direction.OUTPUT)。设置IO的输出,是通过对它的value进行赋值。具体方法如下(假设使用GPIO2驱动LED):</p>
<p> </p>
<pre>
<code class="language-python">import board
import digitalio
import time
led = digitalio.DigitalInOut(board.IO2)
led.direction = digitalio.Direction.OUTPUT
for i in range(10):
led.value = True
time.sleep(0.2)
led.value = False
time.sleep(0.2)</code></pre>
<p> </p>
</div><script> var loginstr = '<div class="locked">查看本帖全部内容,请<a href="javascript:;" style="color:#e60000" class="loginf">登录</a>或者<a href="https://bbs.eeworld.com.cn/member.php?mod=register_eeworld.php&action=wechat" style="color:#e60000" target="_blank">注册</a></div>';
if(parseInt(discuz_uid)==0){
(function($){
var postHeight = getTextHeight(400);
$(".showpostmsg").html($(".showpostmsg").html());
$(".showpostmsg").after(loginstr);
$(".showpostmsg").css({height:postHeight,overflow:"hidden"});
})(jQuery);
} </script><script type="text/javascript">(function(d,c){var a=d.createElement("script"),m=d.getElementsByTagName("script"),eewurl="//counter.eeworld.com.cn/pv/count/";a.src=eewurl+c;m.parentNode.insertBefore(a,m)})(document,523)</script> <p>代码少,简洁</p>
<p>micropython和circuitpython区别很大吗?</p>
freebsder 发表于 2020-7-15 15:54
micropython和circuitpython区别很大吗?
<p>很大</p>
页:
[1]