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); } }
/** ****************************************************************************** * @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; }
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(); }
void BSP_IntDis (CPU_INT08U int_id) { if (int_id < BSP_INT_ID_MAX) { CPU_IntSrcDis(int_id + 16); } }
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开始是外设中断源 } }
void BSP_IntDis (CPU_DATA int_id) { if (int_id < BSP_INT_SRC_NBR) { CPU_IntSrcDis(int_id + 16); } }