beautypg.com

4 i2c control register (i2ccn, m3[0ch]), C control register (i2ccn, m3[0ch]) -4, Maxq family user’s guide: maxq2010 supplement – Maxim Integrated MAXQ Family Users Guide: MAXQ2010 Supplement User Manual

Page 127: C control register (i2ccn, m3[0ch])

background image

MAXQ Family User’s Guide:

MAXQ2010 Supplement

22-4

Stretch Interrupt Enable (I2CSTRIE). Setting this bit to 1 generates an interrupt to the CPU when the clock stretch
interrupt flag is set (I2CSTRI = 1). Clearing this bit disables the clock stretch interrupt from generating.
Bit 2: I

2

C Receive Ready Interrupt Enable (I2CRXIE). Setting this bit to 1 causes an interrupt to the CPU when the

receive interrupt flag is set (I2CRXI = 1). Clearing this bit to 0 disables the receive interrupt from generating.
Bit 1: I

2

C Transmit Complete Interrupt Enable (I2CTXIE). Setting this bit to 1 causes an interrupt to the CPU when

the transmit interrupt flag is set (I2CTXI = 1). Clearing this bit to 0 disables the transmit interrupt from generating.
Bit 0: I

2

C START Interrupt Enable (I2CSRIE). Setting this bit to 1 causes an interrupt to the CPU when a START condi-

tion is detected (I2CSRI = 1). Clearing this bit to 0 disables the START detection interrupt from generating.

22.1.4 I

2

C Control Register (I2CCN, M3[0Ch])

Bit 15: I

2

C Reset (I2CRST). Setting this bit to 1 aborts the current transaction and resets the I

2

C controller. This bit is

set to 1 by software and is only cleared to 0 by hardware after the reset or when I2CEN = 0.
Bits 14:10, 3: Reserved. Read returns 0.
Bit 9: I

2

C Clock Stretch Enable (I2CSTREN). Setting this bit to 1 stretches the clock (holds SCL low) at the end of the

clock cycle specified in I2CSTRS. Clearing this bit disables clock stretching.
Bit 8: I

2

C General Call Enable (I2CGCEN). Setting this bit to 1 enables the I

2

C to respond to a general call address

(address = 0000 0000). Clearing this bit to 0 prevents the I

2

C from responding to the general call address.

Bit 7: I

2

C STOP Enable (I2CSTOP). Setting this bit to 1 generates a STOP condition. This bit automatically is self-

cleared to 0 after the STOP condition has been generated.
In master mode, setting this bit can also start the timeout timer if enabled. If the timeout timer expires before the STOP
condition can be generated, a timeout interrupt is generated to the CPU if enabled. The I2CSTOP bit is also cleared
to 0 by the timeout event.
Note that this bit has no effect when the I

2

C is operating in slave mode (I2CMST = 0), and is reset to 0 when I2CMST

= 0 or I2CEN = 0. Setting the I2CSTOP bit to 1 while I2CSTART = 1 is an invalid operation and is ignored, leaving
I2CSTOP bit cleared to 0.
Bit 6: I

2

C START (I2CSTART). Setting this bit automatically generates a START condition when the bus is free or

generates a repeated START condition during a transfer where the I

2

C module is operating as the master. This bit is

automatically self-cleared to 0 after the START condition has been generated. If the I

2

C START interrupt is enabled, a

START condition generates an interrupt to the CPU.
In master mode, setting this bit can also start the timeout timer if enabled. If the timeout timer expires before the START
condition can be generated, a timeout interrupt is generated to the CPU if enabled. The I2CSTART bit is also cleared
to 0 by the timeout event.

Note 1: I2CSTART and I2CSTOP are mutually exclusive and reset to 0 when I2CMST = 0 or I2CEN = 0.
Note 2: I2CRST is reset to 0 when I2CEN = 0.
Note 3: Writes to I2CMST, I2CMODE, and I2CEN are ignored when I2CBUSY = 1.
Note 4: If I2CRST = 1, I2CEN can be written when I2CBUSY = 1.
Note 5: Write to I2CACK is ignored if I2RST = 1.

Bit #

15

14

13

12

11

10

9

8

Name

I2CRST

I2CSTREN

I2CGCEN

Reset

0

0

0

0

0

0

0

0

Access

rw

rw

rw

rw

rw

rw

rw

rw

Bit #

7

6

5

4

3

2

1

0

Name

I2CSTOP

I2CSTART

I2CACK

I2CSTRS

I2CMODE

I2CMST

I2CEN

Reset

0

0

0

0

0

0

0

0

Access

rw

rw

rw

rw

rw

rw

rw

rw