【MiCOKit试用体验】MICOKIT的呼吸三色LED - 问答 - 电子威廉希尔官方网站 论坛 - 最好最受欢迎电子论坛!

【MiCOKit试用体验】MICOKIT的呼吸三色LED

GalaIO ( 楼主 ) 2015-9-27 13:44:03  只看该作者 倒序浏览
本帖最后由 GalaIO 于 2015-9-27 13:46 编辑
1 w; W( }/ x, ]( i
, T+ J6 h5 G9 G; u     上次的帖子简单介绍了MICOKIT的调试环境和使用KEIL的基本开发流程以及简单开发框架,下载我们对MICO的编程框架有一定认识,值得一提是,在MICO发布的sdk中,有一个demo的文件夹,里面有好多的现成例子,可以知道我们使用MICO的外设资源。位置如下。" h; A' M" g' \3 v' @3 F

' e9 r/ I( V* Y8 q+ d: R! @' C下图是MICO给出的RGB_LED的原理图和简单时序: 1 V7 m3 L. i8 C9 ^
如下是一个简单的使用rgb_led的例子。
! i$ p9 Z% e5 \/ Z5 w
  1. # W1 x6 c; w( |& g4 }+ N# [! h
#include "MICO.h"
#include "micokit_ext.h"
% \; H" C  A3 g: u2 U
  • #define ext_rgb_led_log(M, ...) custom_log("EXT", M, ##__VA_ARGS__)

    ; W  T, y0 w# n
  • int application_start( void )
    {
      ext_rgb_led_log("rgb led conrtol demo(RGB_MODE)");
      /*init RGB LED(P9813)*/
      rgb_led_init();
      while(1)
      {
        /*open red led,#FF0000*/
        rgb_led_open(255, 0, 0);
        mico_thread_sleep(1);
        /*open green led #00FF00*/
        rgb_led_open(0, 255, 0);
        mico_thread_sleep(1);
        /*open blue led,#0000FF*/
        rgb_led_open(0, 0, 255);
        mico_thread_sleep(1);
      }
    }
  • 复制代码
    ) K6 x4 ], c" J- |
    8 o5 Z* w; j  B- T- X" }
    + \6 D7 }6 M2 X+ m* K+ h9 w
    led初始化:
    ) K# }: B$ J, V) R0 R
    1. /*init RGB LED(P9813)*/
    复制代码
    led的RGB颜色配置:3 e7 j) y( G; H2 a+ M  b3 X
    1. /*open red led,#FF0000*
    复制代码
    如上的函数,传入RGB颜色模型的三个值,对于RGB模型来说,RGB模型是由真实的人眼颜色匹配实验得出的模型,RGB分别表示那三个固定波长的光的份量。RGB是基于色光混合的原理设计的,是一种以硬件为导向的色彩模型,它描述了显示器的电子枪打在Red红、Green绿、Blue蓝三色发光极上的显色方式。当红绿蓝三色光的亮度均为最大值(255)的时候,屏幕上重现的颜色就是最亮的白色,都为0的时候,结果就是黑色。
    - i2 V' M* L) O0 H, Q如果想要得出刚才提到的“海棠红”,我们就要把红光调到最亮,把绿光的亮度调到1/5左右,再把蓝光的亮度调到1/3左右,如下图:2 _, y5 L  ^0 R! f4 F6 S) O

    3 v) e6 X9 }5 B- x: ^* p+ ^- h9 A这是我在互联网上找到的颜色,都比较常用,一共有200多种颜色。9 h: X. z  b: p! Z

    : P+ F- |; Z+ y# l1 z; k+ T6 a: q1 L4 q: @  {$ }
    然后把他们生成代码了。
    $ A' A( c8 m  s3 C1 r ( m2 J/ G; O7 x1 {* p

      W( B2 Z( w% a$ d- }: t  j( l, _: x, C' A2 y

    3 K. }: x& m8 q6 H1 b" v% w5 k& R* j
    现在我们就可以用他们来生成各种颜色了。
    1 v4 P1 U  w: y6 `
    % w- ]4 l" H5 D8 b! w
    3 \+ F6 [- ~! `) g最后,通过修改RGB的某一分量,然后通过渐变方式就获得呼吸灯了哦~~相当绚丽~~: @+ [- m& J8 B! x7 M; G& f# l  k
    * z/ Z: j" f- V5 H# Z& L
    + I" l% |6 K/ m0 I
    # @3 f: W0 Y& q

    0个回复

    您需要登录后才可以回帖 登录 | 注册

    本版积分规则


    关闭

    站长推荐上一条 /5 下一条

    小黑屋|手机版|Archiver|电子发烧友 ( 湘ICP备2023018690号 )

    GMT+8, 2025-1-12 05:38 , Processed in 0.460672 second(s), Total 54, Slave 38 queries .

    Powered by 电子发烧友网

    © 2015 bbs.elecfans.com

    微信扫描
    快速回复 返回顶部 返回列表