NLED_SETTINGS_INFO——成员详解

来源:互联网 发布:unity3d制作字幕开场 编辑:程序博客网 时间:2024/06/16 02:28

windows mobile之LED驱动之结构体NLED_SETTINGS_INFO,可控亮度,占空比。搞了好久,终于跟到本质了。

如下:

struct NLED_SETTINGS_INFO
    {
    UINT    LedNum;                 // @FIELD   LED number, 0 is first LED
    INT     OffOnBlink;             // @FIELD   0 == off, 1 == on, 2 == blink
    LONG    TotalCycleTime;         // @FIELD   total cycle time of a blink in microseconds
    LONG    OnTime;                 // @FIELD   on time of a cycle in microseconds
    LONG    OffTime;                // @FIELD   off time of a cycle in microseconds
    INT     MetaCycleOn;            // @FIELD   number of on blink cycles
    INT     MetaCycleOff;           // @FIELD   number of off blink cycles
    };

故名思义:

LedNum——LED的ID号,也就是CPU的管脚号。

OffOnBlink——LED的状态。ON为常亮,OFF为常关。

                        当状态为ON和OFF时,下边的所有参数均失效,因为它们都是为Blink这个状态配置的。

                       Blink为闪烁状态。用以下几个参数来配置闪烁的时间分配。

TotalCycleTime——电平变化周期。电平一高一低的时间长度为周期(这里的电平高低并不代表亮灭,因为可能工作在PWM半亮状态,以电平周期为准)。这个周期跟51的时钟周期类似。

                           TotalCycleTime=OnTime+OffTime;

OnTime——一个电平周期中,电平为ON的时间。(均微秒为单位)

OffTime——一个电平周期中,电平为OFF的时间。

MetaCycleOn——这个东西比较难理解。

                            假设LED工作在PWM模式。每个方波的周期就是电平周期。

                           当需要三个方波用来设置亮度(半亮状态),后五个方波用来熄灭LED灯时。

                           这时,MetaCycleOn就等于3。MetaCycleOff就等于5。

MetaCycleOff——当理解了MetaCycleOn,这个也就理解了。

直观图如下:

原创粉丝点击