For register USBIEPIFG, as described in user guide, "These bits are set by the UBM when a successful completion of a transaction occurs for this endpoint."
However, tests showed that
1) Interrupt does occur after a successful IN transaction on data (in) stage.
2) Interrupt does NOT occur after a successful IN transaction (with zero-length packet) on status (in) stage.
This is also applied for OUT transaction.
Question: For the USB module itself, will IN/OUT transaction (with ZLP) set the corresponding bit in USBIEPIFG/USBOEPIFG?
Some operation may need to take effect only after Acked the zero-length packet on status stage, for example, when received set_address request from host.
thanks.
Roger