LCDバックライトのオン/オフを行います。

構文

int Backlight(
  int what,
  unsigned short time
);

パラメータ

what
[in] 動作内容を指定します。
以下の値が指定可能です。
説明
OFF LCDバックライトを消灯します。
ON LCDバックライトを点灯します。
AUTO LCDバックライトを点灯し、timeで指定したタイムアウト時間が経過するまで無操作ならばLCDバックライトを最低輝度にします。
RETURN_TIME 現在設定されているタイムアウト時間を取得します。
time
[in] whatAUTOを指定しているときに有効なパラメータで、LCDバックライトが最低輝度に変わるまでのタイムアウト時間を20msec単位で指定します。

1〜65,534を指定すると、タイムアウト時間がtime × 20msecに設定されます。

65,535を指定すると、whatONを指定した場合と同じ設定を行います。

戻り値

 whatOFFまたはONを指定したときは、OKを返します。

 whatAUTOを指定したときは、timeが1〜65,535ならばOKを、それ以外ならばERRORを返します。

 whatRETURN_TIMEを指定したときは、現在の設定がONならば65,535を、AUTOならば現在設定されているタイムアウト時間(1〜65,534)を返します。(システム 16.0以降)

解説

 whatONを指定すると、BackLightLvl関数で設定されている輝度でLCDバックライトが常時点灯します。
 whatAUTOを指定すると、BackLightLvl関数で設定されている輝度でLCDバックライトが点灯し、timeで指定したタイムアウト時間が経過するまで無操作ならばLCDバックライトが最低輝度に変わりますが、何らかの操作を行うと自動的に元の輝度に戻ります。

 一方、whatOFFを指定したときは、LCDバックライトは完全にオフされますが、この状態で何らかの操作を行うとLCDバックライトが自動的に点灯し、現在の設定されているAUTOまたはONの設定に従って動作することに注意してください。

必要条件

ヘッダファイル:
lib.h
ライブラリファイル:
libSTARTUPOPH5000.a

サンプル

#include <stdio.h>
#include "lib.h"

void main(void)
{
    int savedBacklightTime;
    int savedBacklightLevel;

    while(1){
        printf("Press [ENT] to start\n");
        while(1){
            if (kbhit()){
                if (getchar() == ENT_KEY){
                    break;
                }
            }
            Idle();
        }

        savedBacklightTime = Backlight(RETURN_TIME, 0); // Save current timeout.
        savedBacklightLevel = BackLightLvl(CURRENT_MODE);
        Backlight(ON, 0);            // Turn on the backlight continuously.
        BackLightLvl(LCD_LEVEL5);    // Highest brightness
        printf("\nBacklight->ON always\n");
        printf("Press [BS] to exit.\n");

        while(1){
            if (kbhit()){
                if (getchar() == BS_KEY){
                    break;
                }
            }
            Idle();
        }
        Backlight(AUTO, savedBacklightTime);    // Restore the timeout.
        BackLightLvl(savedBacklightLevel);      // Restore the brightness
        printf("\nBacklight->restored\n");
    }
}

最終更新日:2022/04/08