/* High Priority Endpoint Correct Transfer interrupt's service routine.  */
void USB_CorrectTransferHp(void)
/* High Priority Endpoint Correct Transfer interrupt's service routine.  */
void USB_CorrectTransferHp(void)
{
    uint32_t wEPVal = 0;
    while (((wIstr = _GetISTR()) & STS_CTRS) != 0)
    {
        _SetISTR((uint16_t)CLR_CTRS);
        EPindex = (uint8_t)(wIstr & STS_EP_ID);
        wEPVal = _GetENDPOINT(EPindex);
        if ((wEPVal & EP_CTRS_RX) != 0)
        {
            _ClearEP_CTR_RX(EPindex);
            (*pEpInt_OUT[EPindex - 1])();
        }
        else if ((wEPVal & EP_CTRS_TX) != 0)
        {
            _ClearEP_CTR_TX(EPindex);
            (*pEpInt_IN[EPindex - 1])();
        }
    }
}