/*********************************************************************//** * @brief GPDMA interrupt handler sub-routine * @param[in] None * @return None **********************************************************************/ void PWM1_IRQHandler(void) { /* Check whether if match flag for channel 0 is set or not */ if (PWM_GetIntStatus(LPC_PWM1, PWM_INTSTAT_MR0)) { match_cnt++; /* Clear the interrupt flag */ PWM_ClearIntPending(LPC_PWM1, PWM_INTSTAT_MR0); } }
int _PWM_GetIntStatus(uint8_t * args) { uint8_t * arg_ptr; LPC_PWM_TypeDef* PWMx; uint32_t IntFlag; if ((arg_ptr = (uint8_t *) strtok(NULL, " ")) == NULL) return 1; PWMx = (LPC_PWM_TypeDef*) strtoul((char *) arg_ptr, NULL, 16); if ((arg_ptr = (uint8_t *) strtok(NULL, " ")) == NULL) return 1; IntFlag = (uint32_t) strtoul((char *) arg_ptr, NULL, 16); sprintf((char *) str, "%x\r\n", (unsigned int) PWM_GetIntStatus(PWMx, IntFlag)); writeUSBOutString(str); return 0; }
/* -------------------------------------------------------------------------------- Function name : void PWM_GetIntStatus(ePWM_CHN ch) Author : mlc Description : PWM获取中断状态值 Input : ch -- PWM号(0~4) Return : desc : -------------------------------------------------------------------- */ void PWM_ClrInt(ePWM_CHN ch) { int intStatus; PWM_GetIntStatus(ch); }