hal_api.c

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

C
1,406
字号
    else {
        rtnVal = HAL_DOUBLE_ERROR;
    }

    return rtnVal;
}

/************************************************************************/
/*                                                                      */
/*  Function Name   : ml675050HAL_SpiReadStatus                         */
/*  Input           : status                                            */
/*  Output          : int16_t HAL_OK(1)                                 */
/*                            HAL_PARAM_ERROR(-2)                       */
/*  Note            :   spi read status                                 */
/*                                                                      */
/************************************************************************/
int16_t ml675050HAL_SpiReadStatus(uint32_t *status)
{
    int16_t rtnVal = HAL_OK;

    if (manageStateMachine(ML675050_HAL_SPI_READ_STATUS) == HAL_OK) {
        rtnVal = HalSpi_SpiReadStatus(status);
        manageStateMachine(ML675050_HAL_SPI_READ_STATUS_END);
    }
    else {
        rtnVal = HAL_DOUBLE_ERROR;
    }

    return rtnVal;
}
/*****************************************************************************/
/*                                                                           */
/*    Function Name  :  uplat7dHAL_CacheInit                                 */
/*    Parameter      :                                                       */
/*        Input      :  Transmission parameter                               */
/*        Output     :  Status of processing result                          */
/*    Note           :  Initialize UART.                                     */
/*                                                                           */
/*****************************************************************************/
int16_t uplat7dHAL_CacheInit(int16_t cache_mode ){

    int16_t rtnVal = HAL_OK;
    
    if(manageStateMachine(UPLAT_7D_HAL_CACHE_INIT) == HAL_OK){
        rtnVal = HALCache_CacheInit( cache_mode );
        manageStateMachine(UPLAT_7D_HAL_CACHE_INIT_END);
    }else{
        rtnVal = HAL_DOUBLE_ERROR;  /* Double error. */
    }
    
    return rtnVal;
}

/*****************************************************************************/
/*                                                                           */
/*    Function Name  :  uplat7dHAL_RemapSetRam                               */
/*    Parameter      :                                                       */
/*        Input      :  Expand memory area                                   */
/*        Output     :  State of processing result                           */
/*    Note           :  Setting of expand RAM area of AHBRAM.                */
/*                                                                           */
/*****************************************************************************/
int16_t uplat7dHAL_RemapSetRam( uint8_t expand_area )
{
    int16_t rtnVal = HAL_OK;
    
    if(manageStateMachine(UPLAT_7D_HAL_REMAP_SET_RAM) == HAL_OK){
        rtnVal = HALRemap_RemapSetRam(expand_area);
        manageStateMachine(UPLAT_7D_HAL_REMAP_SET_RAM_END);
    }else{
        rtnVal = HAL_DOUBLE_ERROR;  /* Double error. */
    }
    
    return rtnVal;
}

/*****************************************************************************/
/*                                                                           */
/*    Function Name  :  uplat7dHAL_RemapSetRam                               */
/*    Parameter      :                                                       */
/*        Input      :  Expand memory area                                   */
/*        Output     :  State of processing result                           */
/*    Note           :  Setting of expand RAM area of AHBRAM.                */
/*                                                                           */
/*****************************************************************************/
int16_t uplat7dHAL_RemapSetFunction( uint8_t mem_area )
{
    int16_t rtnVal = HAL_OK;
    
    if(manageStateMachine(UPLAT_7D_HAL_REMAP_SET_FUNCTION) == HAL_OK){
        rtnVal = HALRemap_RemapSetFunction(mem_area);
        manageStateMachine(UPLAT_7D_HAL_REMAP_SET_FUNCTION_END);
    }else{
        rtnVal = HAL_DOUBLE_ERROR;  /* Double error. */
    }
    
    return rtnVal;
}

/*****************************************************************************/
/*                                                                           */
/*  Function Name   : int16_t ml675050HAL_WDTInit( void )                    */
/*  Input           : Noting                                                 */
/*  Output          : HAL_OK(1)                                              */
/*                  : HAL_PARAM_ERROR(-2)                                    */
/*                                                                           */
/*  Note : Initialize WDT.                                                   */
/*                                                                           */
/*****************************************************************************/
int16_t ml675050HAL_WDTInit( uint16_t mode )
{
    int16_t rtnVal = HAL_OK;
    
    if(manageStateMachine(ML675050_HAL_WDT_INIT) == HAL_OK){
        rtnVal = HALWDT_WDTInit( mode );
        manageStateMachine(ML675050_HAL_WDT_INIT_END);
    }else{
        rtnVal = HAL_DOUBLE_ERROR;  /* Double error. */
    }
    
    return rtnVal;
}

/*****************************************************************************/
/*                                                                           */
/*    Function Name  :  uplat7dHAL_DmacInit                                  */
/*    Parameter      :  dmac_ch                                              */
/*        Input      :  dmac_ch                                              */
/*        Output     :                                                       */
/*    Note           :  Initialize DMAC.                                     */
/*                                                                           */
/*****************************************************************************/
int16_t uplat7dHAL_DmacInit(uPLAT_DmacParam *dmac_param)
{
    int16_t rtnVal = HAL_OK;
    
    if (manageStateMachine(UPLAT_7D_HAL_DMAC_INIT) == HAL_OK) {
        HalDmac_DmacInit(dmac_param);
        manageStateMachine(UPLAT_7D_HAL_DMAC_INIT_END);
    }
    else {
        rtnVal = HAL_DOUBLE_ERROR;  /* Double error. */
    }
    
    return rtnVal;
}

/*****************************************************************************/
/*                                                                           */
/*    Function Name  :  uplat7dHAL_DmacChangeTimes                           */
/*    Parameter      :                                                       */
/*        Input      :   transmission data                                   */
/*        Output     :                                                       */
/*  Note :  Change DMAC transmit times.                                      */
/*                                                                           */
/*****************************************************************************/
int16_t uplat7dHAL_DmacChangeTimes(uPLAT_DmacParam *dmac_param) 
{
    int16_t rtnVal = HAL_OK;

    if (manageStateMachine(UPLAT_7D_HAL_DMAC_CHANGE_TIMES) == HAL_OK) {
        HalDmac_ChangeTimes(dmac_param);
        manageStateMachine(UPLAT_7D_HAL_DMAC_CHANGE_TIMES_END);
    }
    else {
        rtnVal = HAL_DOUBLE_ERROR;  /* Double error. */
    }
    
    return rtnVal;
}

/*****************************************************************************/
/*                                                                           */
/*    Function Name  :  uplat7dHAL_DmacForward                               */
/*    Parameter      :                                                       */
/*        Input      :   transmission data                                   */
/*        Output     :                                                       */
/*    Note           :  transmit the data.                                   */
/*                                                                           */
/*****************************************************************************/
int16_t uplat7dHAL_DmacForward(uPLAT_DmacParam *dmac_param) 
{
    int16_t rtnVal = HAL_OK;

    if (manageStateMachine(UPLAT_7D_HAL_DMAC_FOWARD) == HAL_OK) {
        HalDmac_DmacForward(dmac_param);
        manageStateMachine(UPLAT_7D_HAL_DMAC_FOWARD_END);
    }
    else {
        rtnVal = HAL_DOUBLE_ERROR;  /* Double error. */
    }
    
    return rtnVal;
}

/*****************************************************************************/
/*                                                                           */
/*    Function Name  :  uplat7dHAL_DmacStatus                                */
/*    Parameter      :                                                       */
/*        Input      :  Pointer to transmission status                       */
/*        Output     :  State of processing result                           */
/*    Note           :  Read transmission status.                            */
/*                                                                           */
/*****************************************************************************/
int16_t uplat7dHAL_DmacStatus( uint32_t *status )
{
    int16_t rtnVal = HAL_OK;
    
    if(manageStateMachine(UPLAT_7D_HAL_DMAC_STATUS) == HAL_OK){
        rtnVal = HalDmac_DmacStatus(status );
        manageStateMachine(UPLAT_7D_HAL_DMAC_STATUS_END);
    }else{
        rtnVal = HAL_DOUBLE_ERROR;  /* Double error. */
    }
    
    return rtnVal;
}

/*****************************************************************************/
/*                                                                           */
/*  Function Name   : int16_t uplat7dHAL_PMHaltCPUGroupMode( void )          */
/*  Input           : Noting                                                 */
/*  Output          : HAL_OK(1)                                              */
/*                  : HAL_PARAM_ERROR(-2)                                    */
/*                                                                           */
/*  Note : Move CPU Group Halt mode.                                         */
/*                                                                           */
/*****************************************************************************/
int16_t uplat7dHAL_PMHaltCPUGroupMode( void )
{
    int16_t rtnVal = HAL_OK;
    
    if(manageStateMachine(UPLAT_7D_HAL_PM_SET_HALT_CPUGROUP) == HAL_OK){
        rtnVal = HalPM_PMHaltCPUGroupMode();
        manageStateMachine(UPLAT_7D_HAL_PM_SET_HALT_CPUGROUP_END);
    }else{
        rtnVal = HAL_DOUBLE_ERROR;  /* Double error. */
    }
    
    return rtnVal;
}

/*****************************************************************************/
/*                                                                           */
/*  Function Name   : int16_t uplat7dHAL_PMSIO0HaltMode( uint8_t mode )      */
/*  Input           : mode                                                   */
/*                  : 0: run mode                                            */
/*                  : 1: halt mode                                           */
/*  Output          : HAL_OK(1)                                              */
/*                  : HAL_PARAM_ERROR(-2)                                    */
/*                                                                           */
/*  Note : Control SIO0 clock stop/run.                                      */
/*                                                                           */
/*****************************************************************************/
int16_t uplat7dHAL_PMSIO0HaltMode( uint8_t mode )
{
    int16_t rtnVal = HAL_OK;
    
    if(manageStateMachine(UPLAT_7D_HAL_PM_SET_HALT_SIO0) == HAL_OK){
        rtnVal = HalPM_PMSIO0HaltMode( mode );
        manageStateMachine(UPLAT_7D_HAL_PM_SET_HALT_SIO0_END);
    }else{
        rtnVal = HAL_DOUBLE_ERROR;  /* Double error. */
    }
    
    return rtnVal;
}

/*****************************************************************************/
/*                                                                           */
/*  Function Name   : int16_t uplat7dHAL_PMTICHaltMode( uint8_t mode )       */
/*  Input           : mode                                                   */
/*                  : 0: run mode                                            */
/*                  : 1: halt mode                                           */
/*  Output          : HAL_OK(1)                                              */
/*                  : HAL_PARAM_ERROR(-2)                                    */
/*                                                                           */
/*  Note : Control SIO0 clock stop/run.                   

⌨️ 快捷键说明

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