Ejemplo n.º 1
0
void  CSP_IntDis (CSP_DEV_NBR  int_ctrl,
                  CSP_DEV_NBR  src_nbr)
{
    if ((int_ctrl == CSP_INT_CTRL_NBR_MAIN) &&
        (src_nbr   < CSP_INT_SRC_NBR_MAX  )) {
        CPU_IntSrcDis(src_nbr + CPU_INT_EXT0);
    }
}
Ejemplo n.º 2
0
 /**
 ******************************************************************************
 * @brief      intDisable - 禁用指定的中断
 * @param[in]  int_num   : 中断号(16 ~ INT_COUNT - 1)
 * @param[out] None
 *
 * @retval     成功-OK, 失败-ERROR
 *
 * @details
 *
 * @note
 ******************************************************************************
 */
extern status_t
intDisable(uint32_t int_num)
{
    if ((int_num < 16) || (int_num > INT_COUNT - 1))
    {
        return ERROR;
    }

    CPU_IntSrcDis(int_num);

    return OK;
}
Ejemplo n.º 3
0
void  CSP_IntInit  (void)
{
    CPU_INT08U     src_nbr;
    CSP_INT_VECT  *p_int_vect;
    CPU_SR_ALLOC();


    p_int_vect = &CSP_MainVectTbl[0];

    for (src_nbr = 0u; src_nbr < CSP_INT_SRC_NBR_MAX; src_nbr++) {
        CPU_IntSrcDis(src_nbr + CPU_INT_EXT0);                           /* Disable external interrupts.                         */
        CPU_IntSrcPendClr(src_nbr + CPU_INT_EXT0);
        p_int_vect = &CSP_MainVectTbl[src_nbr];

        CPU_CRITICAL_ENTER();
        CSP_IntVectClr(p_int_vect);                             /* Initialize main vector table entry.                  */
        CPU_CRITICAL_EXIT();
    }

#if (CSP_DEV_USB_OTG_EN == DEF_ENABLED)
    for (src_nbr = 0u; src_nbr < CSP_INT_USB_SRC_MAX_NBR; src_nbr++ ) {

        p_int_vect = &CSP_USB_VectTbl[src_nbr];

        CPU_CRITICAL_ENTER();                                   /* Initialize USB shared handler the vector table.      */
        CSP_IntVectClr(p_int_vect);
        CPU_CRITICAL_EXIT();
    }
#endif
                                                                /* Install the USB shared handler.                      */
    src_nbr    = CSP_INT_SRC_NBR_USB_00;
    p_int_vect = &CSP_MainVectTbl[src_nbr];

    CPU_CRITICAL_ENTER();
    CSP_IntVectSet((CSP_INT_VECT *)p_int_vect,
                   (CPU_FNCT_PTR  )CSP_IntUSB_Handler,
                   (void *        )0);
    CPU_CRITICAL_EXIT();
}
Ejemplo n.º 4
0
void  BSP_IntDis (CPU_INT08U  int_id)
{
    if (int_id < BSP_INT_ID_MAX) {
        CPU_IntSrcDis(int_id + 16);
    }
}
Ejemplo n.º 5
0
void  BSP_IntDis (CPU_DATA  int_id)
{
    if (int_id < BSP_INT_SRC_NBR) {
        CPU_IntSrcDis(int_id + 16); // +16 是因为0~15中断是Cortex-M3内核使用中断源 从16开始是外设中断源
    }
}
Ejemplo n.º 6
0
void  BSP_IntDis (CPU_DATA  int_id)
{
    if (int_id < BSP_INT_SRC_NBR) {
        CPU_IntSrcDis(int_id + 16);
    }
}