/* Once a read transaction is completed and the FIFO drained, another transaction can be started from the next address by calling this function again. */
void EPINonBlockingReadStart(unsigned long ulBase, unsigned long ulChannel, unsigned long ulCount)
/* Once a read transaction is completed and the FIFO drained, another transaction can be started from the next address by calling this function again. */
void EPINonBlockingReadStart(unsigned long ulBase, unsigned long ulChannel, unsigned long ulCount)
{
    unsigned long ulOffset;
    ASSERT(ulBase == EPI0_BASE);
    ASSERT(ulChannel < 2);
    ASSERT(ulCount < 4096);
    ulOffset = ulChannel * (EPI_O_RPSTD1 - EPI_O_RPSTD0);
    HWREG(ulBase + EPI_O_RPSTD0 + ulOffset) = ulCount;
}