开云手机版登录入口-开云(中国)官方

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

GalaIO ( 楼主 ) 2015-9-27 13:44:03  只看该作者 倒序浏览
本帖最后由 GalaIO 于 2015-9-27 13:46 编辑 6 G; N. y+ k  L4 I3 c/ M% n+ l

/ Q: a4 L( t" k3 B' p     上次的帖子简单介绍了MICOKIT的调试环境和使用KEIL的基本开发流程以及简单开发框架,下载我们对MICO的编程框架有一定认识,值得一提是,在MICO发布的sdk中,有一个demo的文件夹,里面有好多的现成例子,可以知道我们使用MICO的外设资源。位置如下。0 l  g1 o* x- G; q' d/ T; U
8 Q" X" r, M0 |1 j
下图是MICO给出的RGB_LED的原理图和简单时序: 0 l& ~8 d8 [1 K. Z6 a9 |
如下是一个简单的使用rgb_led的例子。
! D; }9 \3 b" E- }6 F; F" M
  1. ' E. ?- Z4 P0 Q7 |
#include "MICO.h"
#include "micokit_ext.h"

: q$ P' O. s0 P) z- ~# M
  • #define ext_rgb_led_log(M, ...) custom_log("EXT", M, ##__VA_ARGS__)
    + D; o; C) [9 M2 j! Q5 P% 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);
      }
    }
  • 复制代码

    $ U; p" m; I% D' U3 Z& Q
    : [( t4 Y4 g! m4 K; d' r
    8 ^5 x0 b1 y! G1 Z' e0 N3 D2 }led初始化:
    % b+ l- Y, w6 C8 l# X
    1. /*init RGB LED(P9813)*/
    复制代码
    led的RGB颜色配置:
    3 ]) r# ?& M4 I! o8 ~" b
    1. /*open red led,#FF0000*
    复制代码
    如上的函数,传入RGB颜色模型的三个值,对于RGB模型来说,RGB模型是由真实的人眼颜色匹配实验得出的模型,RGB分别表示那三个固定波长的光的份量。RGB是基于色光混合的原理设计的,是一种以硬件为导向的色彩模型,它描述了显示器的电子枪打在Red红、Green绿、Blue蓝三色发光极上的显色方式。当红绿蓝三色光的亮度均为最大值(255)的时候,屏幕上重现的颜色就是最亮的白色,都为0的时候,结果就是黑色。
    ; x% W; f5 ]3 v, C如果想要得出刚才提到的“海棠红”,我们就要把红光调到最亮,把绿光的亮度调到1/5左右,再把蓝光的亮度调到1/3左右,如下图:
    6 G6 M) t5 }& t: b( H- l
    , F* r1 _: |" a. I$ W6 N/ d这是我在互联网上找到的颜色,都比较常用,一共有200多种颜色。: W9 o: y+ h7 K  C, g( M4 m
    ( G$ h: p: u% C7 t2 g4 K4 F. M
    % R" ]5 ?8 n0 H1 V  S
    然后把他们生成代码了。
    % @, D3 P2 r- V$ _8 X- i
    7 L  q8 K* H  `' ?8 W3 [" T2 I0 {- X8 N* n

    / ?" b. N. l: _. C! B* Q4 _' i8 `' ]  l- T( f/ T& b" L

    ' }) X: g& G# o/ Y2 A) Y现在我们就可以用他们来生成各种颜色了。# s8 c: s8 r+ w4 \' Q8 h- ^) A
    ; N" ^+ R" ]8 W  m2 u: _3 ]5 f
    ( I& }3 E* g1 y. c5 f/ [
    最后,通过修改RGB的某一分量,然后通过渐变方式就获得呼吸灯了哦~~相当绚丽~~  i$ M( l: P+ h1 b8 z0 j1 x

    % a  C& Q7 n/ @& }' G8 i/ y+ U  a& {7 P: n
    0 `8 _5 z0 x; r) p; ?) q# m% ^$ I

    0个回复

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

    本版积分规则

    关闭

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

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

    GMT+8, 2025-5-8 09:39 , Processed in 0.898189 second(s), Total 53, Slave 37 queries .

    Powered by 电子发烧友网

    © 2015 www.ringvoyeur.com

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