English
Language : 

PIC17C75X Datasheet, PDF (150/320 Pages) Microchip Technology – High-Performance 8-Bit CMOS EPROM Microcontrollers
PIC17C75X
FIGURE 15-28: MASTER TRANSMIT FLOWCHART
Idle Mode
Write SSPBUF
Num_Clocks = 0,
BF = 1
Force SCL = 0
Yes
Num_Clocks
= 8?
No
Load BRG with
SSPADD<6:0>,
start BRG count,
SDA = Current Data bit
BRG
No
rollover?
Yes
Stop BRG,
Force SCL = 1
(Clock Arbitration)
No
SCL = 1?
Yes
SDA = No
Data bit?
Yes
Load BRG with
SSPADD<6:0>,
count SCL high time
Bus collision detected
Set BCLIF, hold prescale off
Clear XMIT enable
BRG
No
No
rollover?
SCL = 0?
Yes
SDA =
No
Data bit?
Yes
Num_Clocks
= Num_Clocks + 1
Yes
Reset BRG
Release SDA so
slave can drive ACK
Load BRG with
SSPADD<6:0>,
start BRG count
BRG
No
rollover?
Yes
Force SCL = 1,
Stop BRG
(Clock Arbitration)
No
SCL = 1?
Yes
Load BRG with
SSPADD<6:0>,
count high time
No
Rollover?
Yes
Read SDA and place into
AKSTAT bit (SSPCON2<6>)
Force SCL = 0,
BF = 0,
Set SSPIF
DS30264A-page 150
Preliminary
© 1997 Microchip Technology Inc.