s908ey16g2vfar Freescale Semiconductor, Inc, s908ey16g2vfar Datasheet - Page 187

no-image

s908ey16g2vfar

Manufacturer Part Number
s908ey16g2vfar
Description
M68hc08 Microcontrollers Microcontroller
Manufacturer
Freescale Semiconductor, Inc
Datasheet
is not possible to enable only MODF or OVRF to generate a receiver/error CPU interrupt request.
However, leaving MODFEN low prevents MODF from being set.
If an end-of-block transmission interrupt was meant to pull the MCU out of wait, having an overflow
condition without overflow interrupts enabled causes the MCU to hang in wait mode. If the OVRF is
enabled to generate an interrupt, it can pull the MCU out of wait mode instead.
If the CPU SPRF interrupt is enabled and the OVRF interrupt is not, watch for an overflow condition.
Figure 15-7
The first part of
problems. However, as illustrated by the second transmission example, the OVRF flag can be set in
between the time that SPSCR and SPDR are read.
In this case, an overflow can be easily missed. Since no more SPRF interrupts can be generated until this
OVRF is serviced, it will not be obvious that bytes are being lost as more transmissions are completed.
To prevent this, either enable the OVRF interrupt or do another read of the SPSCR after the read of the
SPDR. This ensures that the OVRF was not set before the SPRF was cleared and that future
transmissions will complete with an SPRF interrupt.
avoid this second SPSCR read, enable the OVRF to the CPU by setting the ERRIE bit (SPSCR).
15.6.2 Mode Fault Error
For the MODF flag (in SPSCR) to be set, the mode fault error enable bit (MODFEN in SPSCR) must be
set. Clearing the MODFEN bit does not clear the MODF flag but does prevent MODF from being set again
after MODF is cleared.
MODF generates a receiver/error CPU interrupt request if the error interrupt enable bit (ERRIE in SPSCR)
is also set. The SPRF, MODF, and OVRF interrupts share the same CPU interrupt vector. MODF and
OVRF can generate a receiver/error CPU interrupt request. (See
only MODF or OVRF to generate a receiver/error CPU interrupt request. However, leaving MODFEN low
prevents MODF from being set.
Freescale Semiconductor
1
2
3
4
BYTE 1 SETS SPRF BIT.
CPU READS SPSCR WITH SPRF BIT SET AND OVRF BIT CLEAR.
CPU READS BYTE 1 IN SPDR, CLEARING SPRF BIT.
BYTE 2 SETS SPRF BIT.
shows how it is possible to miss an overflow.
READ SPSCR
READ SPDR
Figure 15-7
OVRF
SPRF
BYTE 1
Figure 15-7. Missed Read of Overflow Condition
MC68HC908EY16A • MC68HC908EY8A Data Sheet, Rev. 1
shows how to read the SPSCR and SPDR to clear the SPRF without
1
2
3
BYTE 2
4
5
6
7
8
CPU READS SPSCRW WITH SPRF BIT SET AND OVRF BIT CLEAR.
BYTE 3 SETS OVRF BIT. BYTE 3 IS LOST.
CPU READS BYTE 2 IN SPDR, CLEARING SPRF BIT, BUT NOT OVRF BIT.
BYTE 4 FAILS TO SET SPRF BIT BECAUSE OVRF BIT IS SET. BYTE 4 IS LOST.
Figure 15-8
BYTE 3
5
6
7
illustrates this process. Generally, to
Figure
BYTE 4
15-9). It is not possible to enable
8
Error Conditions
187

Related parts for s908ey16g2vfar