hal_api.c

来自「最新版IAR FOR ARM(EWARM)5.11中的代码例子」· C语言 代码 · 共 1,406 行 · 第 1/5 页

C
1,406
字号
    }

    return rtnVal;
}

/************************************************************************/
/*                                                                      */
/*  Function Name   : ml675050HAL_LcdcInit                              */
/*  Input           : hPixels Horizontal pixels.                        */
/*                    vPixels Vertical pixels.                          */
/*  Output          : int16_t HAL_OK(1)                                 */
/*                            HAL_PARAM_ERROR(-2)                       */
/*                            HAL_DOUBLE_ERROR(-1)                      */
/*                                                                      */
/*  Note : Initialize lcdc.                                             */
/*                                                                      */
/************************************************************************/
int16_t ml675050HAL_LcdcInit(uint16_t hPixels, uint16_t vPixels)
{
    int16_t rtnVal = HAL_OK;

    if (manageStateMachine(ML675050_HAL_LCDC_INIT) == HAL_OK) {
        rtnVal = HALLcdc_Init(hPixels, vPixels);
        manageStateMachine(ML675050_HAL_LCDC_INIT_END);
    }
    else {
        rtnVal = HAL_DOUBLE_ERROR;
    }

    return rtnVal;
}

/************************************************************************/
/*                                                                      */
/*  Function Name   : ml675050HAL_LcdcWriteVram                         */
/*  Input           : pVram Option of VRAM.                             */
/*  Output          : int16_t HAL_OK(1)                                 */
/*                            HAL_PARAM_ERROR(-2)                       */
/*                            HAL_DOUBLE_ERROR(-1)                      */
/*                                                                      */
/*  Note : Write data to VRAM.                                          */
/*                                                                      */
/************************************************************************/
int16_t ml675050HAL_LcdcWriteVram(ML675050_VramParam *pVram)
{
    int16_t rtnVal = HAL_OK;

    if (manageStateMachine(ML675050_HAL_LCDC_WRITE_VRAM) == HAL_OK) {
        rtnVal = HALLcdc_WriteVram(pVram);
        manageStateMachine(ML675050_HAL_LCDC_WRITE_VRAM_END);
    }
    else {
        rtnVal = HAL_DOUBLE_ERROR;
    }

    return rtnVal;
}

/************************************************************************/
/*                                                                      */
/*  Function Name   : uplat7dHAL_XbusInitMem                            */
/*  Input           : param Parameter of xbus.                          */
/*  Output          : int16_t HAL_OK(1)                                 */
/*                            HAL_DOUBLE_ERROR(-1)                      */
/*                                                                      */
/*  Note : Initialize xbus.                                             */
/*                                                                      */
/************************************************************************/
int16_t uplat7dHAL_XbusInitMem(uPLAT_XbusParam *param)
{
    int16_t rtnVal = HAL_OK;

    if (manageStateMachine(UPLAT_7D_HAL_XBUS_INIT_MEM) == HAL_OK) {
        HAL_Xbus_InitMem(param);
        manageStateMachine(UPLAT_7D_HAL_XBUS_INIT_MEM_END);
    }
    else {
        rtnVal = HAL_DOUBLE_ERROR;
    }

    return rtnVal;
}

/*****************************************************************************/
/*                                                                           */
/*    Function Name  :  ml675050HAL_I2CInit                                  */
/*    Parameter      :                                                       */
/*        Input      :  Transmission parameter                               */
/*        Output     :  Status of processing result                          */
/*    Note           :  Initialize SIO.                                      */
/*                                                                           */
/*****************************************************************************/
int16_t ml675050HAL_I2CInit( struct ml675050_i2cParam *param )
{
    int16_t rtnVal = HAL_OK;
    
    if(manageStateMachine(ML675050_HAL_I2C_INIT) == HAL_OK){
        rtnVal = HalI2c_i2cInit( param );
        manageStateMachine(ML675050_HAL_I2C_INIT_END);
    }else{
        rtnVal = HAL_DOUBLE_ERROR;  /* Double error. */
    }
    
    return rtnVal;
}

/*****************************************************************************/
/*                                                                           */
/*    Function Name  :  ml675050HAL_I2CMasTxDataStart                        */
/*    Parameter      :                                                       */
/*        Input      :  Pointer to transmission data                         */
/*        Output     :  State of processing result                           */
/*    Note           :  Data is transmitted for Master.                      */
/*                                                                           */
/*****************************************************************************/
int16_t ml675050HAL_I2CMasTxDataStart( uint8_t *buff, uint8_t scl_out )
{
    int16_t rtnVal = HAL_OK;

    if(manageStateMachine(ML675050_HAL_I2C_MAS_TX_DATA_ST) == HAL_OK){
        rtnVal = HalI2c_i2cMasTxDataStart( buff, scl_out );
        manageStateMachine(ML675050_HAL_I2C_MAS_TX_DATA_ST_END);
    }else{
        rtnVal = HAL_DOUBLE_ERROR;  /* Double error. */
    }
    
    return rtnVal;
}

/*****************************************************************************/
/*                                                                           */
/*    Function Name  :  ml675050HAL_I2CMasTxDataEnd                          */
/*    Parameter      :                                                       */
/*        Input      :  Pointer to transmission data                         */
/*        Output     :  State of processing result                           */
/*    Note           :  Data is transmitted for Master.                      */
/*                                                                           */
/*****************************************************************************/
int16_t ml675050HAL_I2CMasTxDataEnd( uint8_t *buff )
{
    int16_t rtnVal = HAL_OK;

    if(manageStateMachine(ML675050_HAL_I2C_MAS_TX_DATA_ED) == HAL_OK){
        rtnVal = HalI2c_i2cMasTxDataEnd( buff );
        manageStateMachine(ML675050_HAL_I2C_MAS_TX_DATA_ED_END);
    }else{
        rtnVal = HAL_DOUBLE_ERROR;  /* Double error. */
    }
    
    return rtnVal;
}

/*****************************************************************************/
/*                                                                           */
/*    Function Name  :  ml675050HAL_I2CMasReRxData                           */
/*    Parameter      :                                                       */
/*        Input      :  Pointer to transmission data                         */
/*        Output     :  Status of processing result                          */
/*    Note           :  It receives the data.                                */
/*                                                                           */
/*****************************************************************************/
int16_t ml675050HAL_I2CMasReRxData( uint8_t *buff )
{
    int16_t rtnVal = HAL_OK;

    if(manageStateMachine(ML675050_HAL_I2C_MAS_RERX_DATA) == HAL_OK){
        rtnVal = HalI2c_i2cMasReRxData( buff );
        manageStateMachine(ML675050_HAL_I2C_MAS_RERX_DATA_END);
    }else{
        rtnVal = HAL_DOUBLE_ERROR;  /* Double error. */
    }
    
    return rtnVal;
}

/*****************************************************************************/
/*                                                                           */
/*    Function Name  :  ml675050HAL_I2CSlvRxDataStart                        */
/*    Parameter      :                                                       */
/*        Input      :  Pointer to transmission data                         */
/*        Output     :  State of processing result                           */
/*    Note           :  Data is transmitted for Slave.                       */
/*                                                                           */
/*****************************************************************************/
int16_t ml675050HAL_I2CSlvRxDataStart( uint8_t *buff )
{
    int16_t rtnVal = HAL_OK;

    if(manageStateMachine(ML675050_HAL_I2C_SLV_RX_DATA_ST) == HAL_OK){
        rtnVal = HalI2c_i2cSlvRxDataStart( buff );
        manageStateMachine(ML675050_HAL_I2C_SLV_RX_DATA_ST_END);
    }else{
        rtnVal = HAL_DOUBLE_ERROR;  /* Double error. */
    }
    
    return rtnVal;
}

/*****************************************************************************/
/*                                                                           */
/*    Function Name  :  ml675050HAL_I2CSlvRxDataEnd                          */
/*    Parameter      :                                                       */
/*        Input      :  Pointer to transmission data                         */
/*        Output     :  State of processing result                           */
/*    Note           :  Data is transmitted for Slave.                       */
/*                                                                           */
/*****************************************************************************/
int16_t ml675050HAL_I2CSlvRxDataEnd( uint8_t *buff )
{
    int16_t rtnVal = HAL_OK;

    if(manageStateMachine(ML675050_HAL_I2C_SLV_RX_DATA_ED) == HAL_OK){
        rtnVal = HalI2c_i2cSlvRxDataEnd( buff );
        manageStateMachine(ML675050_HAL_I2C_SLV_RX_DATA_ED_END);
    }else{
        rtnVal = HAL_DOUBLE_ERROR;  /* Double error. */
    }
    
    return rtnVal;
}

/*****************************************************************************/
/*                                                                           */
/*    Function Name  :  ml675050HAL_I2CSlvReTxData                           */
/*    Parameter      :                                                       */
/*        Input      :  Pointer to transmission data                         */
/*        Output     :  Status of processing result                          */
/*    Note           :  It receives the data for Slave.                      */
/*                                                                           */
/*****************************************************************************/
int16_t ml675050HAL_I2CSlvReTxData( uint8_t *buff )
{
    int16_t rtnVal = HAL_OK;

    if(manageStateMachine(ML675050_HAL_I2C_SLV_RETX_DATA) == HAL_OK){
        rtnVal = HalI2c_i2cSlvReTxData( buff );
        manageStateMachine(ML675050_HAL_I2C_SLV_RETX_DATA_END);
    }else{
        rtnVal = HAL_DOUBLE_ERROR;  /* Double error. */
    }
    
    return rtnVal;
}

/************************************************************************/
/*                                                                      */
/*  Function Name   : ml675050HAL_RtcInit                               */
/*  Input           : init_param                                        */
/*  Output          : int16_t HAL_OK(1)                                 */
/*                            HAL_PARAM_ERROR(-2)                       */
/*  Note            : Initialize rtc.                                   */
/*                                                                      */
/************************************************************************/
int16_t ml675050HAL_RtcInit( ML675050_RtcInitParam *init_param )
{
    int16_t rtnVal = HAL_OK;

    if (manageStateMachine(ML675050_HAL_RTC_INIT) == HAL_OK) {
        rtnVal = HalRtc_RtcInit(init_param);
        manageStateMachine(ML675050_HAL_RTC_INIT_END);
    }
    else {
        rtnVal = HAL_DOUBLE_ERROR;
    }

    return rtnVal;
}

/************************************************************************/
/*                                                                      */
/*  Function Name   : ml675050HAL_RtcWriteDate                          */
/*  Input           : rtc_time                                          */
/*  Output          : int16_t HAL_OK(1)                                 */
/*                            HAL_PARAM_ERROR(-2)                       */
/*  Note            : write rtc data.                                   */
/*                                                                      */
/************************************************************************/
int16_t ml675050HAL_RtcWriteDate(const ML675050_RtcTime *rtc_time)
{
    int16_t rtnVal = HAL_OK;

    if (manageStateMachine(ML675050_HAL_RTC_WRITE_DATE) == HAL_OK) {

⌨️ 快捷键说明

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