![NXP Semiconductors LPC43Sxx Скачать руководство пользователя страница 1291](http://html1.mh-extra.com/html/nxp-semiconductors/lpc43sxx/lpc43sxx_user-manual_17218271291.webp)
UM10503
All information provided in this document is subject to legal disclaimers.
© NXP B.V. 2015. All rights reserved.
User manual
Rev. 2.1 — 10 December 2015
1291 of 1441
NXP Semiconductors
UM10503
Chapter 46: LPC43xx/LPC43Sxx I2C-bus interface
46.7.9 I
2
C Data buffer register
In monitor mode, the I
2
C module may lose the ability to stretch the clock (stall the bus) if
the ENA_SCL bit is not set. This means that the processor will have a limited amount of
time to read the contents of the data received on the bus. If the processor reads the DAT
shift register, as it ordinarily would, it could have only one bit-time to respond to the
interrupt before the received data is overwritten by new data.
To give the processor more time to respond, a new 8-bit, read-only DATA_BUFFER
register will be added. The contents of the 8 MSBs of the DAT shift register will be
transferred to the DATA_BUFFER automatically after every nine bits (8 bits of data plus
ACK or NACK) has been received on the bus. This means that the processor will have
nine bit transmission times to respond to the interrupt and read the data before it is
overwritten.
The processor will still have the ability to read DAT directly, as usual, and the behavior of
DAT will not be altered in any way.
Although the DATA_BUFFER register is primarily intended for use in monitor mode with
the ENA_SCL bit = ‘0’, it will be available for reading at any time under any mode of
operation.
46.7.10 I
2
C Mask registers
The four mask registers each contain seven active bits (7:1). Any bit in these registers
which is set to 1 will cause an automatic match on the corresponding bit of the received
address when it is compared to the ADRn register associated with that mask register. In
other words, bits in an ADRn register which are masked (set to 1) are not taken into
account in determining an address match.
On reset, all mask register bits are cleared to 0.
The mask register has no effect on the comparison to the General Call address
(0000000).
Bits(31:8) and bit(0) of the mask registers are unused and should not be written to. These
bits will always read back as zeros.
When an address-match interrupt occurs, the processor will have to read the data register
(DAT) to determine what the received address was that actually caused the match.
Table 1095.I
2
C Data buffer register (DATA_BUFFER - address 0x400A 102C (I2C0) and
0x400E 002C (I2C1)) bit description
Bit
Symbol Description
Reset value
7:0
Data
This register holds contents of the 8 MSBs of the DAT shift
register.
0
31:8
-
Reserved. The value read from a reserved bit is not defined.
-