/*********************************************************************//** * @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_ClearIntPending(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); PWM_ClearIntPending(PWMx, IntFlag); return 0; }