eUSCI_B I2C Registers
845
SLAU367P – October 2012 – Revised April 2020
Copyright © 2012–2020, Texas Instruments Incorporated
Enhanced Universal Serial Communication Interface (eUSCI) – I
2
C Mode
32.4.1 UCBxCTLW0 Register
eUSCI_Bx Control Word Register 0
Figure 32-17. UCBxCTLW0 Register
15
14
13
12
11
10
9
8
UCA10
UCSLA10
UCMM
Reserved
UCMST
UCMODEx
UCSYNC
rw-0
rw-0
rw-0
r0
rw-0
rw-0
rw-0
r1
7
6
5
4
3
2
1
0
UCSSELx
UCTXACK
UCTR
UCTXNACK
UCTXSTP
UCTXSTT
UCSWRST
rw-1
rw-1
rw-0
rw-0
rw-0
rw-0
rw-0
rw-1
Can be modified only when UCSWRST = 1.
Table 32-4. UCBxCTLW0 Register Description
Bit
Field
Type
Reset
Description
15
UCA10
RW
0h
Own addressing mode select.
Modify only when UCSWRST = 1.
0b = Own address is a 7-bit address.
1b = Own address is a 10-bit address.
14
UCSLA10
RW
0h
Slave addressing mode select
0b = Address slave with 7-bit address
1b = Address slave with 10-bit address
13
UCMM
RW
0h
Multi-master environment select.
Modify only when UCSWRST = 1.
0b = Single master environment. There is no other master in the system. The
address compare unit is disabled.
1b = Multi-master environment
12
Reserved
R
0h
Reserved
11
UCMST
RW
0h
Master mode select. When a master loses arbitration in a multi-master
environment (UCMM = 1), the UCMST bit is automatically cleared and the
module acts as slave.
0b = Slave mode
1b = Master mode
10-9
UCMODEx
RW
0h
eUSCI_B mode. The UCMODEx bits select the synchronous mode when
UCSYNC = 1.
Modify only when UCSWRST = 1.
00b = 3-pin SPI
01b = 4-pin SPI (master or slave enabled if STE = 1)
10b = 4-pin SPI (master or slave enabled if STE = 0)
11b = I2C mode
8
UCSYNC
RW
1h
Synchronous mode enable. For eUSCI_B always read and write as 1.
7-6
UCSSELx
RW
3h
eUSCI_B clock source select. These bits select the BRCLK source clock. These
bits are ignored in slave mode.
Modify only when UCSWRST = 1.
00b = UCLKI
01b = ACLK
10b = SMCLK
11b = SMCLK
5
UCTXACK
RW
0h
Transmit ACK condition in slave mode with enabled address mask register. After
the UCSTTIFG has been set, the user needs to set or reset the UCTXACK flag
to continue with the I2C protocol. The clock is stretched until the UCBxCTL1
register has been written. This bit is cleared automatically after the ACK has
been send.
0b = Do not acknowledge the slave address
1b = Acknowledge the slave address