I2C High Service

Descrizione
1-L'evento I2c è comunicato da SSP tramite ISR
I2cLowService esegue sequenza I2c per scambiare singolo byte
azzera flag evento o collisione I2c
scambiato l'intero byte azzera flag I2cBusyFlag per abilitare la routine high

2-I2cBusyFlag è alzato da I2cHighService e azzerato da I2cLowService

3-La routine relativa al singolo device I2c ha riempito il buffer ed alzato i flag
I2cHighService inizializza sequenza I2cLowService, questa scambia ogni singolo byte
ad ogni byte scambiato è decrementato il contatore relativo
quando contatore TX è a zero si inizia la ricezione
quando entrambi i contatori sono a zero si passa al device successivo
solo se entrambi i contatori sono a zero la routine del singolo device, quella a livello più alto, può cominciare a scambiare altri byte

4-E' stato scandito tutto il buffer, al prossimo giro si ricomincia dal primo

5-Si prepara a controllare il device successivo al prossimo giro

I2cLowService
Codice Main
Codice I2cHighService
Definizioni I2C Codice Interrupt Service Routine