English
Language : 

UPSD3354DV-40U6 Datasheet, PDF (136/272 Pages) STMicroelectronics – fast 8032 MCU with programmable logic
I2C interface
UPSD33xx
Disable Master from returning an ACK
● SFR S1CON.AA = 0
Enable I2C SIOE
● SFR S1CON.INI1 = 1
Transmit Address and R/W bit = 1 to Slave
● Is bus not busy? (SFR S1STA.BBUSY = 0?)
<If busy, then test until not busy>
● SFR S1DAT[7:0] = Load Slave Address # 01h
● SFR S1CON.STA = 1, send START on bus
<bus transmission begins>
Enable All Interrupts and go do something else
● SFR IE.EA = 1
Slave-Transmitter
Disable all interrupts
t(s) ● SFR IE.EA = 0
c Set pointer to global data xmit buffer, set count
u ● *xmit_buf = *pointer to data
rod ● buf_length = number of bytes to xmit
P Set global variables to indicate Master-Xmitter
te ● I2C_master = 0, I2C_xmitter = 1
le Enable SIOE
so ● SFR S1CON.INI1 = 1
b Prepare to Xmit first data byte
- O ● SFR S1DAT[7:0] = xmit_buf[0]
t(s) Enable All Interrupts and go do something else
● SFR IE.EA = 1
duc Slave-Receiver
ro Disable all interrupts
P ● SFR IE.EA = 0
teSet pointer to global data recv buffer, set count
le● *recv_buf = *pointer to data
so ● buf_length = number of bytes to recv
Ob Set global variables to indicate Master-Xmitter
● I2C_master = 0, I2C_xmitter = 0
Enable SIOE
● SFR S1CON.INI1 = 1
Enable All Interrupts and go do something else
● SFR IE.EA = 1
136/272
Doc ID 9685 Rev 7