
56
MAX3421E Programming Guide
SNDBAVIRQ, SNDBAVIE
Meaning:
Send Buffer Available Interrupt Request
Send Buffer Available Interrupt Enable
Mode:
Host only
The SIE sets the SNDBAVIRQ bit after it sends the data in the SNDFIFO to a peripheral and
two conditions result:
1. The peripheral answered with an ACK handshake.
2. No low-level errors (valid PID, CRC, EOP, Stuff) occurred.
The CPU clears the SNDBAVIRQ bit by writing the SNDBC register.
The CPU sets and clears the SNDBAVIE bit. When SNDBAVIE = 1 the SNDBAVIRQ is
enabled as a source to activate the INT pin.
Programming Notes
The SIE clears its FIFO pointers at the termination of any host transfer. Therefore, if the host
reads a nonzero HRSLT after an IN transfer (for example HRSLT[3:0] = 0x04 when the
peripheral returns a NAK handshake), the CPU can retry the IN transfer simply by reloading the
HXFR register with the appropriate value. Because the FIFO data persists until rewritten, and
because the SIE FIFO pointer is reset, the host can repeatedly send the same SNDFIFO data in
this manner without reloading the FIFO data every time.
The CPU clears the SNDBAVIRQ by writing the SNDBC register.
The CPU should never
directly clear the SNDBAVIRQ bit.