hal_api.c

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

C
1,406
字号
    if (manageStateMachine(UPLAT_7D_HAL_PIO_READ_IO) == HAL_OK) {
        ret = HalPio_PioReadIo(port_no, port_io);
        manageStateMachine(UPLAT_7D_HAL_PIO_READ_IO_END);
    }
    else{
        ret = HAL_DOUBLE_ERROR;  /* Double error. */
    }

    return ret;
}
/*********************************************************************/
/*                                                                   */
/*    Function Name  :  uplat7dHAL_PioOutData                        */
/*        Input      :  port_no , data                               */
/*        Output     :  int16_t HAL_OK(1)                            */
/*                            HAL_DOUBLE_ERROR(-2)                   */
/*  Note             : Pio  output set.                              */
/*                                                                   */
/*********************************************************************/
int16_t uplat7dHAL_PioOutData(uint16_t port_no, uint8_t data)
{
    int16_t ret = HAL_OK;

    if (manageStateMachine(UPLAT_7D_HAL_PIO_OUT_DATA) == HAL_OK) {
        ret = HalPio_PioOutData(port_no, data);
        manageStateMachine(UPLAT_7D_HAL_PIO_OUT_DATA_END);
    }
    else{
        ret = HAL_DOUBLE_ERROR;  /* Double error. */
    }

    return ret;
}
/*********************************************************************/
/*                                                                   */
/*    Function Name  :  uplat7dHAL_PioOutBitData                     */
/*        Input      :  port_no , bit_no, bit_data                   */
/*        Output     :  int16_t HAL_OK(1)                            */
/*                            HAL_DOUBLE_ERROR(-2)                   */
/*  Note             : Pio  out bit data set.                        */
/*                                                                   */
/*********************************************************************/
int16_t uplat7dHAL_PioOutBitData(uint16_t port_no, uint8_t bit_no, uint8_t bit_data)
{
    int16_t ret = HAL_OK;

    if (manageStateMachine(UPLAT_7D_HAL_PIO_OUT_BIT_DATA) == HAL_OK) {
        ret = HalPio_PioOutBitData(port_no, bit_no, bit_data);
        manageStateMachine(UPLAT_7D_HAL_PIO_OUT_BIT_DATA_END);
    }
    else{
        ret = HAL_DOUBLE_ERROR;  /* Double error. */
    }

    return ret;
}
/*********************************************************************/
/*                                                                   */
/*    Function Name  :  uplat7dHAL_PioInData                         */
/*        Input      :  port_no , *data                              */
/*        Output     :  int16_t HAL_OK(1)                            */
/*                            HAL_DOUBLE_ERROR(-2)                   */
/*  Note             : Pio  input read.                              */
/*                                                                   */
/*********************************************************************/
int16_t uplat7dHAL_PioInData(uint16_t port_no, uint8_t *data)
{
    int16_t ret = HAL_OK;

    if (manageStateMachine(UPLAT_7D_HAL_PIO_IN_DATA) == HAL_OK) {
        ret = HalPio_PioInData(port_no, data);
        manageStateMachine(UPLAT_7D_HAL_PIO_IN_DATA_END);
    }
    else{
        ret = HAL_DOUBLE_ERROR;  /* Double error. */
    }

    return ret;
}
/*********************************************************************/
/*                                                                   */
/*    Function Name  :  uplat7dHAL_PioInBitData                      */
/*        Input      :  port_no , bit_no, *bit_data                  */
/*        Output     :  int16_t HAL_OK(1)                            */
/*                            HAL_DOUBLE_ERROR(-2)                   */
/*  Note             : Pio  input read  bit_data.                    */
/*                                                                   */
/*********************************************************************/
int16_t uplat7dHAL_PioInBitData(uint16_t port_no, uint8_t bit_no, uint8_t *bit_data)
{
    int16_t ret = HAL_OK;

    if (manageStateMachine(UPLAT_7D_HAL_PIO_INI_BIT_DATA) == HAL_OK) {
        ret = HalPio_PioInBitData(port_no, bit_no, bit_data);
        manageStateMachine(UPLAT_7D_HAL_PIO_INI_BIT_DATA_END);
    }
    else{
        ret = HAL_DOUBLE_ERROR;  /* Double error. */
    }

    return ret;
}


/************************************************************************/
/*                                                                      */
/*  Function Name   : uplat7dHAL_InterruptInitAll                       */
/*  Input           : void                                              */
/*  Output          : int16_t HAL_OK(1)                                 */
/*                            HAL_DOUBLE_ERROR(-1)                      */
/*                                                                      */
/*  Note : Initialize interrupt.                                        */
/*                                                                      */
/************************************************************************/
int16_t uplat7dHAL_InterruptInitAll(void)
{
    int16_t rtnVal = HAL_OK;

    if (manageStateMachine(UPLAT7D_HAL_INTERRUPT_INIT_ALL) == HAL_OK) {
        HALInterrupt_InitAll();
        manageStateMachine(UPLAT7D_HAL_INTERRUPT_INIT_ALL_END);
    }
    else {
        rtnVal = HAL_DOUBLE_ERROR;
    }

    return rtnVal;
}

/************************************************************************/
/*                                                                      */
/*  Function Name   : uplat7dHAL_InterruptSetPrimary                    */
/*  Input           : param Interrupt parameter.                        */
/*  Output          : int16_t HAL_OK(1)                                 */
/*                            HAL_PARAM_ERROR(-2)                       */
/*                            HAL_DOUBLE_ERROR(-1)                      */
/*                                                                      */
/*  Note : Set interrupt.                                               */
/*                                                                      */
/************************************************************************/
int16_t uplat7dHAL_InterruptSetPrimary(const uPLAT_InterruptParam *param)
{
    int16_t rtnVal = HAL_OK;

    if (manageStateMachine(UPLAT7D_HAL_INTERRUPT_SET_PRIMARY) == HAL_OK) {
        rtnVal = HALInterrupt_SetPrimary(param);
        manageStateMachine(UPLAT7D_HAL_INTERRUPT_SET_PRIMARY_END);
    }
    else {
        rtnVal = HAL_DOUBLE_ERROR;
    }

    return rtnVal;
}

/************************************************************************/
/*                                                                      */
/*  Function Name   : uplat7dHAL_TimerInit                              */
/*  Input           : cycle Timer cycle.                                */
/*  Output          : int16_t HAL_OK(1)                                 */
/*                            HAL_PARAM_ERROR(-2)                       */
/*                            HAL_DOUBLE_ERROR(-1)                      */
/*                                                                      */
/*  Note : Initialize system timer.                                     */
/*                                                                      */
/************************************************************************/
int16_t uplat7dHAL_TimerInit(uint16_t cycle)
{
    int16_t rtnVal = HAL_OK;

    if (manageStateMachine(UPLAT7D_HAL_TIMER_INIT) == HAL_OK) {
        rtnVal = HALTimer_Init(cycle);
        manageStateMachine(UPLAT7D_HAL_TIMER_INIT_END);
    }
    else {
        rtnVal = HAL_DOUBLE_ERROR;
    }

    return rtnVal;
}

/************************************************************************/
/*                                                                      */
/*  Function Name   : uplat7dHAL_TimerSetStart                          */
/*  Input           : start 1: start  0: stop                           */
/*  Output          : int16_t HAL_OK(1)                                 */
/*                            HAL_PARAM_ERROR(-2)                       */
/*                            HAL_DOUBLE_ERROR(-1)                      */
/*                                                                      */
/*  Note : Start or stop system timer.                                  */
/*                                                                      */
/************************************************************************/
int16_t uplat7dHAL_TimerSetStart(uint16_t start)
{
    int16_t rtnVal = HAL_OK;

    if (manageStateMachine(UPLAT7D_HAL_TIMER_SET_START) == HAL_OK) {
        HALTimer_SetStart(start);
        manageStateMachine(UPLAT7D_HAL_TIMER_SET_START_END);
    }
    else {
        rtnVal = HAL_DOUBLE_ERROR;
    }

    return rtnVal;
}

/************************************************************************/
/*                                                                      */
/*  Function Name   : ml675050HAL_AdcInit                               */
/*  Input           : adc_mode 1: scan  0: select.                      */
/*                    channel Select ADC channel.                       */
/*  Output          : int16_t HAL_OK(1)                                 */
/*                            HAL_PARAM_ERROR(-2)                       */
/*                            HAL_DOUBLE_ERROR(-1)                      */
/*                                                                      */
/*  Note : Initialize adc.                                              */
/*                                                                      */
/************************************************************************/
int16_t ml675050HAL_AdcInit(uint16_t mode, uint16_t channel)
{
    int16_t rtnVal = HAL_OK;

    if (manageStateMachine(ML675050_HAL_ADC_INIT) == HAL_OK) {
        rtnVal = HALAdc_Init(mode, channel);
        manageStateMachine(ML675050_HAL_ADC_INIT_END);
    }
    else {
        rtnVal = HAL_DOUBLE_ERROR;
    }

    return rtnVal;
}

/************************************************************************/
/*                                                                      */
/*  Function Name   : ml675050HAL_AdcStart                              */
/*  Input           : start 1: start  0: stop.                          */
/*                    channel Select ADC channel.                       */
/*  Output          : int16_t HAL_OK(1)                                 */
/*                            HAL_PARAM_ERROR(-2)                       */
/*                            HAL_DOUBLE_ERROR(-1)                      */
/*                                                                      */
/*  Note : Start or stop adc.                                           */
/*                                                                      */
/************************************************************************/
int16_t ml675050HAL_AdcStart(uint16_t start)
{
    int16_t rtnVal = HAL_OK;

    if (manageStateMachine(ML675050_HAL_ADC_START) == HAL_OK) {
        rtnVal = HALAdc_Start(start);
        manageStateMachine(ML675050_HAL_ADC_START_END);
    }
    else {
        rtnVal = HAL_DOUBLE_ERROR;
    }

    return rtnVal;
}

/************************************************************************/
/*                                                                      */
/*  Function Name   : ml675050HAL_AdcRxData                             */
/*  Input           : buff Buffer of ADC result.                        */
/*  Output          : int16_t HAL_OK(1)                                 */
/*                            HAL_PARAM_ERROR(-2)                       */
/*                            HAL_DOUBLE_ERROR(-1)                      */
/*                                                                      */
/*  Note : Copy ADC result to buff.                                     */
/*                                                                      */
/************************************************************************/
int16_t ml675050HAL_AdcRxData(int8_t *buff)
{
    int16_t rtnVal = HAL_OK;

    if (manageStateMachine(ML675050_HAL_ADC_RX_DATA) == HAL_OK) {
        rtnVal = HALAdc_RxData(buff);
        manageStateMachine(ML675050_HAL_ADC_RX_DATA_END);
    }
    else {
        rtnVal = HAL_DOUBLE_ERROR;

⌨️ 快捷键说明

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