Beispiel #1
0
/**
 * uDMA Error Handler
 *
 * \note Need to add the ISR to the NVIC table in the row labeled "uDMA Error"
 *
 **/
void twe_uDMAErrorHandler(void) {
	uint32_t ui32Status;
	ui32Status = MAP_uDMAErrorStatusGet();
	if(ui32Status) {
		MAP_uDMAErrorStatusClear();
		g_DMAErrCount++;
	}
	uDMAChannelDisable(UDMA_CHANNEL_SSI0TX);
	SSIDMADisable(SSI0_BASE, SSI_DMA_RX | SSI_DMA_TX);
}
//*****************************************************************************
//
// The interrupt handler for uDMA errors.  This interrupt will occur if the
// uDMA encounters a bus error while trying to perform a transfer.  This
// handler just increments a counter if an error occurs.
//
//*****************************************************************************
void
uDMAErrorHandler(void)
{
    unsigned long ulStatus;

    //
    // Check for uDMA error bit
    //
    ulStatus = MAP_uDMAErrorStatusGet();

    //
    // If there is a uDMA error, then clear the error and increment
    // the error counter.
    //
    if(ulStatus)
    {
        MAP_uDMAErrorStatusClear();
        g_uluDMAErrCount++;
    }
}