⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 evmdm6437_led.c

📁 evmdm6437_led的函数原型!!!!!!!!!!!!!!!
💻 C
字号:
/*
 *  Copyright 2006 by Spectrum Digital Incorporated.
 *  All rights reserved. Property of Spectrum Digital Incorporated.
 */

/*
 *  LED implementation
 *
 */

#include "evmdm6437_led.h"

/* ------------------------------------------------------------------------ *
 *                                                                          *
 *  _LED_init( )                                                            *
 *                                                                          *
 *      Clear LEDs                                                          *
 *                                                                          *
 * ------------------------------------------------------------------------ */
Int16 EVMDM6437_LED_init( )
{
    /* Turn OFF all LEDs */
    return EVMDM6437_I2C_GPIO_setall( LED_I2C_ADDR, 0x000F );
}

/* ------------------------------------------------------------------------ *
 *                                                                          *
 *  _LED_on( number )                                                       *
 *                                                                          *
 *      number <- LED# [0:3]                                                *
 *                                                                          *
 * ------------------------------------------------------------------------ */
Int16 EVMDM6437_LED_on( Uint16 number )
{
    Uint16 led_state;
    Uint16 led_bit_on;

    if ( number > 3 )
        return 1;

    led_bit_on = 1 << number;

    /*
     *  Get then set LED
     */
    if ( EVMDM6437_I2C_GPIO_getall( LED_I2C_ADDR, &led_state ) )
        return -1;

    led_state = led_state & ( ~led_bit_on );

    if ( EVMDM6437_I2C_GPIO_setall( LED_I2C_ADDR, led_state ) )
        return -1;

    return 0;
}

/* ------------------------------------------------------------------------ *
 *                                                                          *
 *  _LED_off( number )                                                      *
 *                                                                          *
 *      number <- LED# [0:3]                                                *
 *                                                                          *
 * ------------------------------------------------------------------------ */
Int16 EVMDM6437_LED_off( Uint16 number )
{
    Uint16 led_state;
    Uint16 led_bit_off;

    if ( number > 3 )
        return 1;

    led_bit_off = 1 << number;

    /*
     *  Get then set LED
     */
    if ( EVMDM6437_I2C_GPIO_getall( LED_I2C_ADDR, &led_state ) )
        return -1;

    led_state =  led_state | led_bit_off;

    if ( EVMDM6437_I2C_GPIO_setall( LED_I2C_ADDR, led_state ) )
        return -1;

    return 0;
}

/* ------------------------------------------------------------------------ *
 *                                                                          *
 *  _LED_toggle( number )                                                   *
 *                                                                          *
 *      number <- LED# [0:3]                                                *
 *                                                                          *
 * ------------------------------------------------------------------------ */
Int16 EVMDM6437_LED_toggle( Uint16 number )
{
    Uint16 led_state;
    Uint16 new_led_state;
    Uint16 led_bit_toggle;

    if ( number > 3 )
        return 1;

    led_bit_toggle = 1 << ( number & 0x03 );

    /*
     *  Get then set LED
     */
    if ( EVMDM6437_I2C_GPIO_getall( LED_I2C_ADDR, &led_state ) )
        return -1;

    if ( ( led_state & led_bit_toggle ) == 0 )
        new_led_state = led_state | led_bit_toggle;     /* Turn OFF */
    else
        new_led_state = led_state & ~led_bit_toggle;    /* Turn ON */

    if ( EVMDM6437_I2C_GPIO_setall( LED_I2C_ADDR, new_led_state ) )
        return -1;

    return 0;
}

⌨️ 快捷键说明

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