19 UNIVERSAL SERIAL INTERFACE WITH LCD INTERFACE (USIL)
19-30
Seiko Epson Corporation
S1C33L26 TECHNICAL MANUAL
Receive error interrupt
To use this interrupt, set IMEIE/USIL_IMIE register to 1. If IMEIE is set to 0 (default), interrupt requests for
this cause will not be sent to the ITC.
An overrun error occurs at the time a transmit or receive trigger is issued after two-byte data has been received
without reading the receive data buffer.
The USIL module sets IMEIF/USIL_IMIF register to 1 if an overrun error is detected when receiving data.
If receive error interrupts are enabled (IMEIE = 1), an interrupt request is sent simultaneously to the ITC. An
interrupt occurs if other interrupt conditions are met. You can inspect the IMEIF flags in the interrupt handler
routine to determine whether the USIL (I
2
C master mode) interrupt was caused by a receive error. If IMEIF is 1,
the interrupt handler routine will proceed with error recovery.
To reset an overrun error, clear IMEIF by writing 1, and then read the receive data buffer (USIL_RD
register)
twice.
Interrupts in I
19.7.4
2
C Slave Mode
The I
2
C slave mode includes a function for generating the following two different types of interrupts.
• Operation completion interrupt
• Receive error interrupt
Operation completion interrupt
To use this interrupt, set ISIE/USIL_ISIE register to 1. If ISIE is set to 0 (default), interrupt requests for this
cause will not be sent to the ITC.
When the operation that initiated by a software trigger has completed, the USIL module sets ISIF/USIL_ISIF
register to 1. If operation completion interrupts are enabled (ISIE = 1), an interrupt request is sent simultane-
ously to the ITC. An interrupt occurs if other interrupt conditions are met. You can inspect the ISSTA[2:0]/
USIL_ISIF register in the interrupt handler routine to determine the I
2
C operation/status that causes the inter-
rupt.
7.4.1 I
Table 19.
2
C Slave Status Bits
ISSTA[2:0]
Status
0x7
Reserved
0x6
NAK has been received.
0x5
ACK has been received.
0x4
ACK or NAK has been sent.
0x3
End of receive data.
0x2
End of transmit data.
0x1
Stop condition has been detected.
0x0
Start condition has been detected.
(Default: 0x0)
Receive error interrupt
To use this interrupt, set ISEIE/USIL_ISIE register to 1. If ISEIE is set to 0 (default), interrupt requests for this
cause will not be sent to the ITC.
An overrun error occurs at the time a transmit or receive trigger is issued after two-byte data has been received
without reading the receive data buffer.
The USIL module sets ISEIF/USIL_ISIF register to 1 if an overrun error is detected when receiving data. If
receive error interrupts are enabled (ISEIE = 1), an interrupt request is sent simultaneously to the ITC. An inter-
rupt occurs if other interrupt conditions are met. You can inspect the ISEIF flags in the interrupt handler routine
to determine whether the USIL (I
2
C slave mode) interrupt was caused by a receive error. If ISEIF is 1, the inter-
rupt handler routine will proceed with error recovery.
To reset an overrun error, clear ISEIF by writing 1, and then read the receive data buffer (USIL_RD
register)
twice.