I2C MONRXDAT addressOffset = 0x080

The read-only MONRXDAT register provides information about events on the I^ 2C bus, primarily to facilitate debugging of the I^ 2C during application development. All data addresses and data passing on the bus and whether these were acknowledged, as well as Start and Stop events, are reported.

The Monitor function must be enabled by the MONEN bit in the CFG register. Monitor mode can be configured to stretch the I^ 2C clock if data is not read from the MONRXDAT register in time to prevent it, via the MONCLKSTR bit in the CFG register. This can help ensure that nothing is missed but can cause the monitor function to be somewhat intrusive (by potentially adding clock delays, depending on software response time). In order to improve the chance of collecting all Monitor information if clock stretching is not enabled, Monitor data is buffered such that it is available until the end of the next piece of information from the I^ 2C bus.

Table 1. I2C registerName = MONRXDAT addressOffset = 0x080
Bit Symbol Value Description Reset value
7:0 MONRXDAT   Monitor function Receiver Data. This reflects every data byte that passes on the I^ 2C pins, and adds indication of Start, Repeated Start, and data NACK. 0
8 MONSTART   Monitor Received Start. 0
    0 No detect. The monitor function has not detected a Start event on the I^ 2C bus.  
    1 Start detect. The monitor function has detected a Start event on the I^ 2C bus.  
9 MONRESTART   Monitor Received Repeated Start. 0
    0 No start detect. The monitor function has not detected a Repeated Start event on the I^ 2C bus.  
    1 Repeated start detect. The monitor function has detected a Repeated Start event on the I^ 2C bus.  
10 MONNACK   Monitor Received NACK. 0
    0 Acknowledged. The data currently being provided by the monitor function was acknowledged by at least one master or slave receiver.  
    1 Not acknowledged. The data currently being provided by the monitor function was not acknowledged by any receiver.  
31:11 -   Reserved. Read value is undefined, only zero should be written. NA


-->