yangjiaxu 发表于 2020-12-20 20:56

【CH579M-R1】小试牛刀之驱动WS2812

<p>这块开发板用着可是真的很顺手,前段时间买了一个WS2812的灯环,这就派上用场了。</p>

<p>先看看灯环啥样。</p>

<p>24位的WS2812,不错吧。接下来就开始干。驱动它还是稍微有些小难度的,因为这个需要时序方面控制的非常好,如果时序不对,就会出现如下状况。</p>

<p>程序设定为蓝色,实际颜色有点儿发青。</p>

<p>程序设定为红色,实际颜色有点儿乱啊。</p>

<p>以下代码为WS2812时序的基本操作。</p>

<pre>
<code>void RGB_LED_Write0(void)
{
//        RGB_LED_HIGH;
        GPIOB_SetBits( GPIO_Pin_3 );
        __nop();__nop();__nop();
//        RGB_LED_LOW;
        GPIOB_ResetBits( GPIO_Pin_3 );
        __nop();__nop();__nop();__nop();__nop();__nop();__nop();__nop();__nop();__nop();
        __nop();__nop();__nop();__nop();__nop();__nop();__nop();
}

void RGB_LED_Write1(void)
{
//        RGB_LED_HIGH;
        GPIOB_SetBits( GPIO_Pin_3 );
        __nop();__nop();__nop();__nop();__nop();__nop();__nop();__nop();__nop();__nop();
        __nop();__nop();
//        RGB_LED_LOW;
        GPIOB_ResetBits( GPIO_Pin_3 );
        __nop();__nop();__nop();__nop();__nop();__nop();
}

void RGB_LED_Reset(void)
{
//        RGB_LED_LOW;
        GPIOB_ResetBits( GPIO_Pin_3 );
        GPIOB_ModeCfg( GPIO_Pin_3, GPIO_ModeOut_PP_5mA );
        mDelayuS(80);
}

//亮灯颜色设定,其他颜色以此类推
void RGB_LED_Red(void)
{
       uint8_t i;
        //4个LED全彩灯
        for(i=0;i&lt;24;i++)
        {
          RGB_LED_Write_24Bits(0, 0xff, 0);
        }
}

void RGB_LED_Green(void)
{
        uint8_t i;

        for(i=0;i&lt;24;i++)
        {
          RGB_LED_Write_24Bits(0xff, 0, 0);
        }
}

void RGB_LED_Blue(void)
{
        uint8_t i;

        for(i=0;i&lt;24;i++)
        {
          RGB_LED_Write_24Bits(0, 0, 0xff);
        }
}
</code></pre>

<p>接下来就看看效果吧。</p>

<p></p>

<p></p>

<p></p>

<p>完美搞定。不过有个小疑问,就是串口下载的时候不是可以免按键下载吗,为啥还要按download按键重新上电一下才可以下载呀。</p>

<p></p>

<p>不过下载速度还是很快的,很满意。点个赞。</p>

okhxyyo 发表于 2020-12-21 14:35

<p><strong><a href="https://bbs.eeworld.com.cn/elecplay/content/137" target="_blank">沁恒CH579M-R1开发板测评</a></strong></p>

<p>汇总贴:<a href="https://bbs.eeworld.com.cn/thread-1140005-1-1.html" target="_blank">https://bbs.eeworld.com.cn/thread-1140005-1-1.html</a></p>

w494143467 发表于 2020-12-21 22:21

<p>感觉非常好玩的样子</p>

yangjiaxu 发表于 2020-12-21 23:51

<div class="quote">
<blockquote><font size="2"><a href="forum.php?mod=redirect&amp;goto=findpost&amp;pid=3032366&amp;ptid=1152509" target="_blank"><font color="#999999">w494143467 发表于 2020-12-21 22:21</font></a></font> 感觉非常好玩的样子</blockquote>
</div>

<p>这个很有意思的,我还没有加其他特效,只是单独的点灯那种,如果加完特效,超级炫酷。</p>

<p>而且,CH579,很好上手,嗖嗖嗖,一起来玩吧。</p>

w494143467 发表于 2020-12-22 09:12

yangjiaxu 发表于 2020-12-21 23:51
w494143467 发表于 2020-12-21 22:21 感觉非常好玩的样子


这个很有意思的,我还没有加其他特效,只 ...

<p>想看看超炫酷的样子!</p>

littleshrimp 发表于 2020-12-22 17:16

<p>我也有过这个灯环</p>

freebsder 发表于 2020-12-25 18:33

<p>看样子blingbling有点意思的样子,我也去某宝看看。</p>
页: [1]
查看完整版本: 【CH579M-R1】小试牛刀之驱动WS2812