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

📄 plf_led.h

📁 实现快速傅立叶变换算法,provides test framwork for FFT testing
💻 H
字号:
#ifndef _PLF_LED_H_
#define _PLF_LED_H_

//==========================================================================
//
//      plf_led.h
//
//      platform LED support
//
//
//==========================================================================
// -------------------------------------------
//####ECOSGPLCOPYRIGHTEND####
//==========================================================================
//#####DESCRIPTIONBEGIN####
//
// Author(s):     wanglei
// Date:          2007-09-20
// Purpose:       on-platform led supporting .
//
//####DESCRIPTIONEND####
//========================================================================

#include <cyg/infra/cyg_type.h>
#include <cyg/hal/hal_arch.h>
#include <cyg/hal/hal_io.h>

//---------------------------------------------------------------------------
// function prototypes
//---------------------------------------------------------------------------
//---------------------------------------------------------------------------
//
// Function:     LED_INIT
//
// Description:  LED initialization
//
// Parameters:   none
// 
// Returns:      none
//
// State:        tested
//---------------------------------------------------------------------------
#define LED_INIT()                                                           \
CYG_MACRO_START                                                              \
     cyg_uint16 _16bit_val;                                                  \
     cyg_uint8 _8bit_val;                                                    \
     HAL_READ_UINT16(&MCF5484_DEVS->GPIO.par_pcibg, _16bit_val);             \
     HAL_WRITE_UINT16(&MCF5484_DEVS->GPIO.par_pcibg, (_16bit_val& 0xfc03));  \
     HAL_READ_UINT8(&MCF5484_DEVS->GPIO.pddr_pcibg, _8bit_val);              \
     HAL_WRITE_UINT8(&MCF5484_DEVS->GPIO.pddr_pcibg, (_8bit_val| MCF5484_GPIO_PDDR_PCIBG_PDDRPCIBG1     \
                                                                 |MCF5484_GPIO_PDDR_PCIBG_PDDRPCIBG2    \
                                                                 |MCF5484_GPIO_PDDR_PCIBG_PDDRPCIBG3    \
                                                                 |MCF5484_GPIO_PDDR_PCIBG_PDDRPCIBG4)); \
     HAL_READ_UINT16(&MCF5484_DEVS->GPIO.par_pcibr, _16bit_val);                                        \
     HAL_WRITE_UINT16(&MCF5484_DEVS->GPIO.par_pcibr, (_16bit_val& 0xff0f));                             \
     HAL_READ_UINT8(&MCF5484_DEVS->GPIO.pddr_pcibr, _8bit_val);                                         \
     HAL_WRITE_UINT8(&MCF5484_DEVS->GPIO.pddr_pcibr, (_8bit_val| 0x0C));                                \
CYG_MACRO_END

//---------------------------------------------------------------------------
//
// Function:     LED_ON
//
// Description:  Set LED 1,2 ON
//
// Parameters:   led_index: index of led that is to be set 
// 
// Returns:      none
//
// State:        tested
//---------------------------------------------------------------------------
#define LED_ON( _Index_ )                                                    \
CYG_MACRO_START                                                              \
    cyg_uint8 _led_mask;                                                     \
    cyg_uint8 _8bit_val;                                                     \
    _led_mask = (0x01 << (_Index_));                                         \
    HAL_READ_UINT8(&MCF5484_DEVS->GPIO.ppdsdr_pcibg, _8bit_val);             \
    _8bit_val = (_8bit_val | _led_mask);                                     \
    HAL_WRITE_UINT8(&MCF5484_DEVS->GPIO.podr_pcibg, _8bit_val);              \
CYG_MACRO_END 

//---------------------------------------------------------------------------
//
// Function:     LED_OFF
//
// Description:  Set LED 1,2 OFF
//
// Parameters:   none
// 
// Returns:      none
//
// State:        tested
//---------------------------------------------------------------------------
#define LED_OFF( _Index_ )                                                   \
CYG_MACRO_START                                                              \
    cyg_uint8 _led_mask;                                                     \
    cyg_uint8 _8bit_val;                                                     \
    _led_mask = (0x01 << (_Index_));                                         \
    HAL_READ_UINT8(&MCF5484_DEVS->GPIO.ppdsdr_pcibg, _8bit_val);             \
    _8bit_val = (_8bit_val & (~_led_mask));                                  \
    HAL_WRITE_UINT8(&MCF5484_DEVS->GPIO.podr_pcibg, _8bit_val);              \
CYG_MACRO_END

//---------------------------------------------------------------------------
// Function:     LED_SET_VAL
//
// Description:  Set LED 
//
// Parameters:   none
// 
// Returns:      none
//
// State:        tested
//---------------------------------------------------------------------------
#define LED_SET_VAL( _bLedVal_p_ )                                           \
CYG_MACRO_START                                                              \
   cyg_uint8 _led_mask;                                                      \
   cyg_uint8 _8bit_val;                                                      \
   _led_mask = (_bLedVal_p_ << 1);                                             \
   HAL_READ_UINT8(&MCF5484_DEVS->GPIO.ppdsdr_pcibg, _8bit_val);              \
   if(_8bit_val & 0x01E)                                                     \
   {                                                                         \
      _8bit_val = (_8bit_val & (~0x001E) );                                  \
      HAL_WRITE_UINT8(&MCF5484_DEVS->GPIO.podr_pcibg, _8bit_val);            \
   }                                                                         \
   _8bit_val = (_8bit_val | _led_mask);                                      \
   HAL_WRITE_UINT8(&MCF5484_DEVS->GPIO.podr_pcibg, _8bit_val);               \
   if(_bLedVal_p_ > 15)                                                        \
   {                                                                         \
    HAL_READ_UINT8(&MCF5484_DEVS->GPIO.podr_pcibr, _8bit_val);               \
    HAL_WRITE_UINT8(&MCF5484_DEVS->GPIO.podr_pcibr, (_8bit_val& 0xfb));      \
   }                                                                         \
CYG_MACRO_END

//---------------------------------------------------------------------------
//
// Function:     LED_SET_RUN
//
// Description:  Set "run" LED 
//
// Parameters:   none
// 
// Returns:      none
//
// State:        tested
//---------------------------------------------------------------------------
#define LED_SET_RUN()                                                        \
CYG_MACRO_START                                                              \
   cyg_uint8 _8bit_val;                                                      \
    HAL_READ_UINT8(&MCF5484_DEVS->GPIO.podr_pcibr, _8bit_val);               \
    HAL_WRITE_UINT8(&MCF5484_DEVS->GPIO.podr_pcibr, (_8bit_val& 0xfb));      \
CYG_MACRO_END

//---------------------------------------------------------------------------
//
// Function:     LED_CLR_RUN
//
// Description:  Set "run" LED 
//
// Parameters:   none
// 
// Returns:      none
//
// State:        tested
//---------------------------------------------------------------------------
#define LED_CLR_RUN()                                                        \
CYG_MACRO_START                                                              \
   cyg_uint8 _8bit_val;                                                      \
    HAL_READ_UINT8(&MCF5484_DEVS->GPIO.podr_pcibr, _8bit_val);               \
    HAL_WRITE_UINT8(&MCF5484_DEVS->GPIO.podr_pcibr, (_8bit_val| 0x04));      \
CYG_MACRO_END

//---------------------------------------------------------------------------
//
// Function:     LED_SET_ERR
//
// Description:  Set "error" LED 
//
// Parameters:   none
// 
// Returns:      none
//
// State:        tested
//---------------------------------------------------------------------------
#define LED_SET_ERR()                                                        \
CYG_MACRO_START                                                              \
   cyg_uint8 _8bit_val;                                                      \
   HAL_READ_UINT8(&MCF5484_DEVS->GPIO.podr_pcibr, _8bit_val);                \
   HAL_WRITE_UINT8(&MCF5484_DEVS->GPIO.podr_pcibr, (_8bit_val& 0xf7));       \
CYG_MACRO_END

//---------------------------------------------------------------------------
//
// Function:     LED_CLR_ERR
//
// Description:  clear "error" LED 
//
// Parameters:   none
// 
// Returns:      none
//
// State:        tested
//---------------------------------------------------------------------------
#define LED_CLR_ERR()                                                        \
CYG_MACRO_START                                                              \
   cyg_uint8 _8bit_val;                                                      \
   HAL_READ_UINT8(&MCF5484_DEVS->GPIO.podr_pcibr, _8bit_val);                \
   HAL_WRITE_UINT8(&MCF5484_DEVS->GPIO.podr_pcibr, (_8bit_val| 0x08));       \
CYG_MACRO_END
#endif //_PLF_LED_H_

⌨️ 快捷键说明

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