Abgespeckte TWI-Library.

Hallo,

ich habe erfolgreich einen Haput- und Keyboardcontroller zum übermittel von Fernbedienungscode über I2C verbunden und die Kommunikation klappt.
Leider benötigt die Wire-Lybrary für den Hauptcontroller ca. 180 Bytes an Variablen im RAM was die Funktion des eigentlichen im Controller bißchen einschränkt.
Gibt es eine abgespeckte Wire-Library die vielleicht nur eine Slave/Read-Funktion hat?
Es geht nur um einen einzigen Bytecode welcher auf Knopfdruck übertragen wird, mehr nicht.

Vielen Dank im Voraus

Andi

hi,

am besten in die library reinschauen, und nur ins eigene programm kopieren, was Du brauchst. ich mach das auch so bei einer RTC...

gruß stefan

oder komplett auf Libraies verzichten und direkt programmieren. I2C ist ja nun eigentlich auch in purem C einfach ... aber man muss sich dafür halt mir dem Datenblatt des Controllers auseinander setzen.

Beispiel-Implementierungen:

http://rn-wissen.de/wiki/index.php?title=TWI_Slave_mit_avr-gcc

oder

http://www.atmel.com/images/atmel-2565-using-the-twi-module-as-i2c-slave_applicationnote_avr311.pdf

Haribo68:
Gibt es eine abgespeckte Wire-Library die vielleicht nur eine Slave/Read-Funktion hat?
Es geht nur um einen einzigen Bytecode welcher auf Knopfdruck übertragen wird, mehr nicht.

Die Wire-Library definiert drei verschiedene Byte-Puffer zu je 32 Bytes Größe.
Macht 96 Bytes.
Ob zum Lesen und Schreiben getrennte Puffer verwendet werden, weiß ich nicht.

Wenn Du Dir sicher bist, nur viel weniger Puffergröße beim Lesen und Schreiben zu benötigen, kannst Du die definierte Puffergröße in der Library verkleinern.

Verkleinere die buffer size (in .\libraries\Wire\utility\twi.h) beispielsweise auf 6 statt 32.