English
Language : 

PIC17C7XX_13 Datasheet, PDF (160/306 Pages) Microchip Technology – High-Performance 8-bit CMOS EPROM Microcontrollers with 10-bit A/D
PIC17C7XX
FIGURE 15-25: MASTER TRANSMIT FLOW CHART
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
Rollover?
No
SCL = 0?
Yes
SDA =
No
Data bit?
Yes
Num_Clocks
= Num_Clocks + 1
Yes
Reset BRG
Release SDA so
Slave can drive ACK,
Force BF = 0
Load BRG with
SSPADD<6:0>,
start BRG count
BRG
No
Rollover?
Yes
Force SCL = 1,
Stop BRG
(Clock Arbitration)
No
SCL = 1?
Yes
Read SDA and place into
ACKSTAT bit (SSPCON2<6>)
Load BRG with
SSPADD<6:0>,
Count High Time
No
Rollover?
Yes
Force SCL = 0,
Set SSPIF
DS30289C-page 160
 1998-2013 Microchip Technology Inc.