|
void v_InitI2C(void) |
|
v_InitI2C: Mit dieser Funktion wird der I²C-Part initalisiert. Als Quarz wird der RC-Oscillator angenommen. Die Datenübertragung wird auf 100 kHz eingestellt. Wird eine andere CPU-Frequenz verwendet, müssen die SFRs I2SCLL und SCLH angepasst werden. Außerdem wird der Interrupt freigegeben. Rückgabewert: – Verwendete Funktionen: – Verwendete globale Variablen: Slave, ucI2CError Verwendete Definitionen: (I2C_OK, NACK_WRADR, NACK_WRDATA, UNDEFINED) C-Sourcemodul: I2C_Lib.c |
|
void v_SetNextI2CVal(unsigned char ucVal) |
|
v_SetNextI2CVal: Mit Hilfe dieser Funktion werden Daten in die Struktur „Slave“ geschrieben. Es wird der Inhalt von „ucVal“ in das Element „Slave.Val[]“ geschrieben. Der Offset auf das Array wird automatisch nach dem Schreiben um Eins erhöht. F Es können maximal 64 Bytes in das Array geschrieben werden. Es findet keine Überprüfung statt, ob ein Überlauf des Arrays stattfindet. !! Rückgabewert: – Verwendete Funktionen: – Verwendete globale Variablen: Slave Verwendete Definitionen: (I2C_OK, NACK_WRADR, NACK_WRDATA, UNDEFINED) C-Sourcemodul: I2C_Lib.c |
|
void v_StartI2CandWait(void) |
|
v_StartI2CandWait: Die Funktion startet den Sendevorgang beim I²C-Bus. Die Funktion wartet solange, bis alle Daten übertragen bzw. empfangen wurden, bzw. bis ein Fehler auf dem I²C-Bus aufgetreten ist. Das Ergebnis der Übertragung ist in der globalen Variablen „ucI2CError“ abgelegt. Das Ergebnis kann eine der unten aufgeführten Definitionen sein. Rückgabewert: – Verwendete Funktionen: – Verwendete globale Variablen: btI2cFinished, ucI2CError Verwendete Definitionen: (I2C_OK, NACK_WRADR, NACK_WRDATA, UNDEFINED) C-Sourcemodul: I2C_Lib.c |
|
void v_StartI2CTrans(void) |
|
v_StartI2CTrans: Die Funktion Funktion startet den Sendevorgang beim I²C-Bus und setzt die globale Variable „ucI2CError“ auf den Wert „I2C_OK“. Rückgabewert: – Verwendete Funktionen: – Verwendete globale Variablen: Slave, ucI2CError Verwendete Definitionen: (I2C_OK, NACK_WRADR, NACK_WRDATA, UNDEFINED) C-Sourcemodul: I2C_Lib.c |
|
void v_WaitI2CFinish(void) |
|
v_WaitI2CFinish: Die Funktion wartet, bis der Sende-/Empfangsvorgang auf dem I²C-Bus beendet ist. Rückgabewert: – Verwendete Funktionen: – Verwendete globale Variablen: Slave, ucI2CError Verwendete Definitionen: (I2C_OK, NACK_WRADR, NACK_WRDATA, UNDEFINED) C-Sourcemodul: I2C_Lib.c |
|
void void v_I2CInterrupt(void) interrupt 6 |
|
v_I2CInterrupt: Die ISR wertet das SFR I2STAT aus und sendet bzw. empfängt Daten. Die Daten werden aus der Struktur „Slave“ gelesen bzw. in das Element „Slave.Val[]“ geschrieben. Wird ein Fehler auf dem I²C-Bus erkannt, z. B. fehlendes ACK, wird die Variable „ucI2CError“ mit einer der unten aufgeführten Definitionen gesetzt. Nach dem letztem gesendeten bzw. empfangenen Byte wird die Stopbedingung gesetzt. F !! Beim Empfangen der Daten wird nicht überprüft, ob über das Array Slave.Val[] hinaus geschrieben wird. !! Rückgabewert: – Verwendete Funktionen: – Verwendete globale Variablen: Slave, ucI2CError Verwendete Definitionen: (NACK_WRADR, NACK_WRDATA, UNDEFINED) C-Sourcemodul: I2C_Lib.c |