Hi, ist schon mal jemand über einen I2C Slave code möglichst in C gestolpert? Master gibt es ja zur Genüge ;) Ciao
Servus, unter http://hubbard.engr.scu.edu/embedded/avr/avrlib/index.html findest du was du suchst. Momentan bin ich dabei, damit rumzuspielen. Simuliere den I2C Master mit VMLab. Das Ding hat allerdings einige Bugs im I2C Master Module. Kennst Du noch eine andere Simulationsumgebung??? cu flinkflash http://www.krabbelbot.de
Hi, die avrlib hatte ich auch. Scheint net so schlecht zu sein. Leider wollten bisher zumindest die i2c routinen net funktionieren. Bzw bei meinem aktuellen Problem helfen sie nicht, da sie nur für den Master modus funktionieren. Ich brauchte ja Slave, was zwar nich so schwierig ist, leider fehlt mir aber im Moment die Idee das sparsam zu realisieren. Ciao und Danke!
Hi alle Megas haben ein TWI (aka I2C) Interface hardwaremäßig drin. Eine relativ einfache Nutzung (übertragen von 2 Byte als Slave-Transmitter) sieht dann so aus: /** TWI-Schnittstelle initialisieren<br> Slave Transmitter Mode */ void i2c_init() { TWAR = ASR_ADRESS; TWCR = (1<<TWEN)|(1<<TWEA)|(1<<TWIE); } /** Behandelt die INT's des TWI */ SIGNAL(SIG_2WIRE_SERIAL) { if(TWSR==0xA8) { TWDR=i2c_val1; TWCR=(1<<TWEN)|(1<<TWINT)|(1<<TWEA)|(1<<TWIE); } else if((TWSR==0xB8)||(TWSR==0xB0)) { TWDR=i2c_val2; TWCR=(1<<TWEN)|(1<<TWINT)|(1<<TWIE); } else if(TWSR==0xC0) { TWCR=(1<<TWEN)|(1<<TWINT)|(1<<TWEA)|(1<<TWIE); } } Matthias
Servus, die Slave Routinen von AVRLib funktionieren im VMLab Simulator einwandfrei. cu flinkflash http://www.krabbelbot.de
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.