ASURO Library  2.80
Funktionen
i2c.c-Dateireferenz

Funktionen zum Emulieren der I2C Bus.
Dabei werden die Pins C2 und C3 genutzt als SCL und SDA. Sie sind aber in myasuro.h veraenderbar. Die Verwendung von I2C Bus benoetigt PullUps jeweils 4.7k Ohm. Mehr ...

#include "asuro.h"
#include "i2c.h"
Include-Abhängigkeitsdiagramm für i2c.c:

gehe zum Quellcode dieser Datei

Funktionen

void InitI2C (void)
 I2C Bus Initialisieren.
 
unsigned char WriteI2C (unsigned char byte)
 Daten ueber I2C schreiben.
 
unsigned char ReadI2C (unsigned char ack)
 Daten aus I2C Bus lesen.
 
unsigned char StartI2C (unsigned char device)
 Datenaustausch starten.
 
void StopI2C (void)
 Datenaustausch Stoppen.
 

Ausführliche Beschreibung

Funktionen zum Emulieren der I2C Bus.
Dabei werden die Pins C2 und C3 genutzt als SCL und SDA. Sie sind aber in myasuro.h veraenderbar. Die Verwendung von I2C Bus benoetigt PullUps jeweils 4.7k Ohm.

Siehe auch
Defines fuer die I2C in asuro.h
Version
V001 - 17.02.2006 - Rizqi Ahmad (raid_ox)
Original Version
V002 - 18.02.2006 - Sternthaler
Keine Codeaenderung.
Austausch der TAB's gegen BLANK's.

Definiert in Datei i2c.c.

Dokumentation der Funktionen

void InitI2C ( void  )

I2C Bus Initialisieren.

Siehe auch
SDA_HI, SCLHI
Funktionsweise:
Schaltet PC2 und PC3 als Ausgang. und Setze die Pins als High

Definiert in Zeile 42 der Datei i2c.c.

{
SDA_DDR |= (1 << SDA);
SCL_DDR |= (1 << SCL);
}
unsigned char ReadI2C ( unsigned char  ack)

Daten aus I2C Bus lesen.

Parameter
ackNAK oder ACK
Rückgabe
erhaltene Daten
Siehe auch
SDA_HI, SDA_LO, SCL_HI, SCL_TOGGLE, HDEL

Definiert in Zeile 109 der Datei i2c.c.

{
unsigned char i, byte = 0;
SDA_DDR &= ~(1 << SDA);
for (i=0; i<8; i++)
{
byte <<= 1;
byte |= (SDA_PIN & (1 << SDA)) >> SDA;
}
SDA_DDR |= (1 << SDA);
if (ack)
SDA_LO; // ack
else
SDA_HI; // nak
return byte;
}
unsigned char StartI2C ( unsigned char  device)

Datenaustausch starten.

Parameter
deviceAddresse der I2C Gerät
Rückgabe
antwort

Definiert in Zeile 153 der Datei i2c.c.

{
return WriteI2C (device);
}
void StopI2C ( void  )

Datenaustausch Stoppen.

Definiert in Zeile 168 der Datei i2c.c.

unsigned char WriteI2C ( unsigned char  byte)

Daten ueber I2C schreiben.

Parameter
bytedaten
Rückgabe
antwort
Siehe auch
SDA_HI, SDA_LO, SCL_HI, SCL_TOGGLE, HDEL

Definiert in Zeile 66 der Datei i2c.c.

{
unsigned char i;
for (i=8; i>0; i--)
{
if ( byte & (1<<(i-1)) )
else
}
SDA_DDR &= ~(1 << SDA);
byte = SDA_PIN & (1 << SDA);
SDA_DDR |= (1 << SDA);
return (byte == 0);
}