csl_lcdconvaux.h

来自「dsp在音频处理中的运用」· C头文件 代码 · 共 706 行 · 第 1/2 页

H
706
字号
/** ============================================================================
 *   @file  csl_lcdconvAux.h
 *
 *   @path  $(CSLPATH)\arm\lcdconv\src
 *
 *   @desc  Auxilliary API header file for the LCD data conversion module CSL
 */
 
/*  ============================================================================
 *   Copyright (c) Texas Instruments Inc 2002, 2003, 2004
 *
 *   Use of this software is controlled by the terms and conditions found in the
 *   license agreement under which this software has been supplied.
 *   ===========================================================================
 */
 
/*  @(#) PSP/CSL 3.00.01.00[5912] (2004-05-15)  */

/* =============================================================================
 *  Revision History
 *  ===============
 *  07-Jul-2004 sd File Created.
 *	13-Jul-2004 sd Changes for the LUT configuration.
 *	04-Aug-2004 sd Code review changes.
 * =============================================================================
 */
#ifndef _CSL_LCDCONVAUX_H_
#define _CSL_LCDCONVAUX_H_

#include <csl_lcdconv.h>

#ifdef __cplusplus
extern "C" {
#endif

/**
 *	Status query functions of the LCD data conversion module
 */

/** ============================================================================
 *   @n@b CSL_lcdconvModeGet
 *
 *   @b Description
 *   @n Gets the current mode of the LCD data conversion module
 *
 *   @b Arguments
 *   @verbatim
        hLcdconv     	    Handle to the LCD data conversion module instance
	 @endverbatim
 *
 *   <b> Return Value </b>  CSL_LcdconvMode
 *
 *   <b> Pre Condition </b>
 *   @n  None
 *
 *   <b> Post Condition </b>
 *    @n Returns current mode of the LCD data conversion module
 *
 *   @b Modifies
 *   @n None
 *
 *   @b Example
 *   @verbatim
        CSL_LcdconvHandle     	hLcdconv;
        CSL_LcdconvMode         modeVal;
      
        ...
        modeVal = CSL_lcdconvModeGet (hLcdconv);
        ...
     @endverbatim
 * ===========================================================================
 */
 
static inline
CSL_LcdconvMode CSL_lcdconvModeGet (
	CSL_LcdconvHandle hLcdconv
)
{
    CSL_LcdconvMode  modeVal;

    /* Read the current mode of the LCD data conversion module */
    modeVal = (CSL_LcdconvMode) CSL_FEXT (hLcdconv->regs->CTRL, 
    										LCDCONV_CTRL_MODESTATUS);
    return modeVal;
}

/** ============================================================================
 *   @n@b CSL_lcdconvActiveEdgeGet
 *
 *   @b Description
 *   @n Gets the current active edge setting of the LCD frame sync signal in 
 *		LCD data conversion module
 *
 *   @b Arguments
 *   @verbatim
        hLcdconv     	    Handle to the LCD data conversion module instance
	 @endverbatim
 *
 *   <b> Return Value </b>  CSL_LcdconvFSyncSense
 *
 *   <b> Pre Condition </b>
 *   @n  None
 *
 *   <b> Post Condition </b>
 *    @n Returns the current active edge setting of the LCD frame sync signal 
 *		 in LCD data conversion module.
 *
 *   @b Modifies
 *   @n None
 *
 *   @b Example
 *   @verbatim
        CSL_LcdconvHandle     	hLcdconv;
        CSL_LcdconvFSyncSense	activeEdgeVal;
      
        ...
        activeEdgeVal = CSL_lcdconvActiveEdgeGet (hLcdconv);
        ...
     @endverbatim
 * ===========================================================================
 */
 
static inline
CSL_LcdconvFSyncSense CSL_lcdconvActiveEdgeGet (
	CSL_LcdconvHandle hLcdconv
)
{
    CSL_LcdconvFSyncSense  activeEdgeVal;

    /* Read the current active edge setting of the LCD data conversion module */
    activeEdgeVal = (CSL_LcdconvFSyncSense) CSL_FEXT (hLcdconv->regs->CTRL, 
    													LCDCONV_CTRL_ACTIVEEDGE);
    return activeEdgeVal;
}

/** ============================================================================
 *   @n@b CSL_lcdconvWrClkStatGet
 *
 *   @b Description
 *   @n Gets the write clock status of the LCD data conversion module
 *
 *   @b Arguments
 *   @verbatim
        hLcdconv     	    Handle to the LCD data conversion module instance
	 @endverbatim
 *
 *   <b> Return Value </b>  CSL_LcdconvClk
 *
 *   <b> Pre Condition </b>
 *   @n  None
 *
 *   <b> Post Condition </b>
 *    @n Returns write clock status
 *
 *   @b Modifies
 *   @n None
 *
 *   @b Example
 *   @verbatim
        CSL_LcdconvHandle       hLcdconv;
        CSL_LcdconvClk          clkStatus;
      
        ...
        clkStatus = CSL_lcdconvWrClkStatGet (hLcdconv);
        ...
     @endverbatim
 * ===========================================================================
 */
 
static inline
CSL_LcdconvClk CSL_lcdconvWrClkStatGet (
	CSL_LcdconvHandle hLcdconv
)
{
    CSL_LcdconvClk  clkStatus;

    /* Read the current active edge setting of the LCD data conversion module */
    clkStatus = (CSL_LcdconvClk) CSL_FEXT (hLcdconv->regs->CTRL, 
    													LCDCONV_CTRL_CLKEN);
    return clkStatus;
}

/**
 *	Control command functions of the LCD data conversion module
 */

/** ============================================================================
 *   @n@b CSL_lcdconvModeConfig
 *
 *   @b Description
 *   @n Configures the mode of the LCD data conversion module
 *
 *   @b Arguments
 *   @verbatim
        hHandle     	Handle to the LCD data conversion module instance
        
        modeVal         Mode to be configured
     @endverbatim
 *
 *   <b> Return Value </b> 
 *       None 
 *
 *   <b> Pre Condition </b>
 *   @n  None
 *
 *   <b> Post Condition </b>
 *   @n  LCD data conversion module is configured to the given mode value.  
 * 
 *   @b Modifies
 *   @n LCD data conversion module control register
 *
 *   @b Example
 *   @verbatim
        CSL_LcdconvHandle     hLcdconv;
        CSL_LcdconvMode       modeVal = CSL_LCDCONV_MODE_18BIT;
        ...
        count = CSL_lcdconvModeConfig (hLcdconv, loadVal);
        ...
     @endverbatim
 * ===========================================================================
 */

static inline
void CSL_lcdconvModeConfig (
	CSL_LcdconvHandle   hLcdconv,
    CSL_LcdconvMode     modeVal
)
{
    CSL_FINS( hLcdconv->regs->CTRL, LCDCONV_CTRL_MODESET, modeVal);
}

/** ============================================================================
 *   @n@b CSL_lcdconvActEdgeConfig
 *
 *   @b Description
 *   @n Configures the active edge of the LCD data conversion module
 *
 *   @b Arguments
 *   @verbatim
        hHandle     	Handle to the LCD data conversion module instance
        
        aciveEdgeVal    Value to be configured
     @endverbatim
 *
 *   <b> Return Value </b> 
 *       None 
 *
 *   <b> Pre Condition </b>
 *   @n  None
 *
 *   <b> Post Condition </b>
 *   @n  LCD data conversion module is configured to the given active edge value.  
 *
 *   @b  Modifies
 *   @n  LCD data conversion module control register
 *
 *   @b  Example
 *   @verbatim
        CSL_LcdconvHandle     	hLcdconv;
        CSL_LcdconvFSyncSense	activeEdgeVal = CSL_LCDCONV_FSYNCSENSE_NEGATIVE;
        ...
        CSL_lcdconvActEdgeConfig (hLcdconv, activeEdgeVal);
        ...
     @endverbatim
 * ===========================================================================
 */

static inline
void CSL_lcdconvActEdgeConfig (
	CSL_LcdconvHandle   		hLcdconv,
	CSL_LcdconvFSyncSense		activeEdgeVal
)
{
	CSL_FINS (hLcdconv->regs->CTRL, LCDCONV_CTRL_ACTIVEEDGE, activeEdgeVal);
}

/** ============================================================================
 *   @n@b CSL_lcdconvWrClkEnable
 *
 *   @b Description
 *   @n Enable the write clock to the RGB look up table
 *
 *   @b Arguments
 *   @verbatim
        hLcdconv    Handle to the LCD data conversion module instance
     @endverbatim
 *
 *   <b> Return Value </b> 
 *       None 
 *
 *   <b> Pre Condition </b>
 *   @n  None
 *
 *   <b> Post Condition </b>
 *   @n  Write clock clocks the RGB look up table
 *
 *   @b  Modifies
 *   @n  LCD data conversion module control register
 *
 *   @b  Example
 *   @verbatim
        CSL_LcdconvHandle     hLcdconv;
        ...
        CSL_lcdconvWrClkEnable (hLcdconv);
        ...
     @endverbatim
 * ===========================================================================
 */

static inline
void CSL_lcdconvWrClkEnable (
	CSL_LcdconvHandle   hLcdconv
)
{
	CSL_FINST (hLcdconv->regs->CTRL, LCDCONV_CTRL_CLKEN, ENABLE);
}

/** ============================================================================
 *   @n@b CSL_lcdconvWrClkDisable
 *
 *   @b Description
 *   @n Disable the write clock to the RGB look up table
 *
 *   @b Arguments
 *   @verbatim
        hLcdconv    Handle to the LCD data conversion module instance
     @endverbatim
 *
 *   <b> Return Value </b> 
 *       None 
 *
 *   <b> Pre Condition </b>
 *   @n  None
 *
 *   <b> Post Condition </b>
 *   @n  Write clock to the RGB look up table is disabled
 *
 *   @b  Modifies
 *   @n  LCD data conversion module control register
 *
 *   @b  Example
 *   @verbatim
        CSL_LcdconvHandle     hLcdconv;
        ...
        CSL_lcdconvWrClkDisable (hLcdconv);
        ...
     @endverbatim
 * ===========================================================================
 */

static inline
void CSL_lcdconvWrClkDisable (
	CSL_LcdconvHandle   hLcdconv

⌨️ 快捷键说明

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