IFS0bits.U1RXIF = 0;
// Initialize (buffer must be 2^N, ideally in Y data space) void c30_cbuf_init(c30_cbuf_t *cb, unsigned char *buf, unsigned int size) cb->head = 0; cb->tail = 0; cb->mask = size - 1; cb->buffer = buf; cb->len = size; mplab c30 compiler
*data = cb->buffer[cb->tail]; cb->tail = (cb->tail + 1) & cb->mask; return 0; IFS0bits