sysled.c

来自「一个基于三星ARM7系列的S3C44B0 的vxWorks的BSP源文件包。」· C语言 代码 · 共 167 行

C
167
字号
/************************************************ * modify 	: hugang hgxxx@51eda.com			* * data		: 2004-05-05						* ************************************************//* sysLed.c - Wind River SBC ARM7 User LED driver *//* Copyright 1984-2001 Wind River Systems, Inc. */#include "copyright_wrs.h"/*modification history--------------------01c,26apr01,m_h  convert tabs to spaces for readability01b,19apr01,m_h  add carriage routine at EOF to avoid compile warning01a,10apr01,g_h  created*//* includes */#include "sysLed.h"LOCAL UINT8 sysLed;LOCAL char  sysLedNumToMask(char led);/**************************************************************************** sysLedInit - Initialize LEDs.** This routine initializes the LED variable to zero and clears* all LEDs.** SEE ALSO: sysLedOn(), sysLedOff(), sysLedControl().** RETURNS: N/A.*/void sysLedInit(void)    {    sysLed = 0xf0;    /*     * Write to LED.     */    WRITE_LED(sysLed);    }/**************************************************************************** sysLedOff - Turn selected LED off.** This routine set the selected LED to off.** SEE ALSO: sysLedInit(), sysLedOff(), sysLedControl().** RETURNS: N/A.*/void sysLedOff(UINT8 led)    {    sysLed |= ~sysLedNumToMask(led);    /*     * Write to LED.     */        WRITE_LED(sysLed);    }/**************************************************************************** sysLedOn - Turn selected LED on.** This routine set the selected LED to on.** SEE ALSO: sysLedInit(), sysLedOn(), sysLedControl().** RETURNS: N/A.*/void sysLedOn(UINT8 led)    {        sysLed &= sysLedNumToMask(led);    /*     * Write to LED.     */    WRITE_LED(sysLed);    }/**************************************************************************** sysLedControl - Turn selected LED(s) on or off.** This routine sets the selected LED on or off.** SEE ALSO: sysLedInit(), sysLedOff(), sysLedOn().** RETURNS: N/A.*/void sysLedControl(int led_on, UINT8 led)    {    /*     * Check led state.     */    if (led_on)        sysLed &=  sysLedNumToMask(led); /* Set LED on. */    else        sysLed |= ~sysLedNumToMask(led); /* Set LED off. */    /*     * Write to LED.     */        WRITE_LED(sysLed);    }/**************************************************************************** sysLedNumToMask - return the LED mask for given LED number** This routine is returning the LED mask for given LED number.** SEE ALSO: sysLedInit(), sysLedOff(), sysLedOn().** RETURNS: char ledMask*/LOCAL char sysLedNumToMask(char led){    char ledMask;    if(led < MIN_LED_NUMBER || led > MAX_LED_NUMBER)        return('\0');    switch(led)    {    case LED1:        ledMask = 0x70;        break;    case LED2:        ledMask = 0xb0;        break;    case LED3:        ledMask = 0xd0;        break;    case LED4:        ledMask = 0xe0;        break;    default:        ledMask = 0x0;        break;    }    return(ledMask);}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?