Hallo!
Ich bastel hier immer noch an meinem TWI Master und Slave.
Der Slave (atmega8) soll momentan einfach nur Daten empfangen und über uart ausgeben. Er ist zudem Interrupt-basiert.
Der Master (atmega32) hingegen läuft ohne Interrupts, da ich den Vorteil der Interrupts da noch nicht erkannt habe.
Unten gibt es den Quellcode, ich will darauf hinweisen, dass es sich dabei lediglich um einen "Pre-Alpha" Test handelt! Es ist keinerlei Fehlerprüfung oder ähnliches drin! Das kommt alles noch.
Also, wenn ich das ganze anwerfe bekomme ich vom Slave den ersten Satz an Daten ohne Probleme an, der 2. jedoch nicht.
Das liegt wohl am Master, er sendet den 1. natürlich ohne Probleme, beim 2. sagt er mir dann aber einen Fehler.
Hier mal die Outputs:
Master:
| Code : |
Waiting for slave...
Initiating twi...
TWI Send OK!
Send address!
Sending...
Sending...
Sending...
Sending...
Sending...
Sending...
Sending...
Sending...
Sending...
Sending...
Sending...
Sending...
............................TWI Send OK!
TWI-Error: TW_MT_SLA_NACK 2 |
|
Slave:
| Code : |
Initiating twi...
Hello World!
TWI: adressed...
TWI: send ack...
TWI: Got Data: 72
TWI: send ack...
TWI: Got Data: 101
TWI: send ack...
TWI: Got Data: 108
TWI: send ack...
TWI: Got Data: 108
TWI: send ack...
TWI: Got Data: 111
TWI: send ack...
TWI: Got Data: 32
TWI: send ack...
TWI: Got Data: 87
TWI: send ack...
TWI: Got Data: 111
TWI: send ack...
TWI: Got Data: 114
TWI: send ack...
TWI: Got Data: 108
TWI: send ack...
TWI: Got Data: 100
TWI: send ack...
TWI: Got Data: 33
TWI: Stop Condition...
Hello World! |
|
Und hier gibts den gesamten Quellcode: <a href="http://files.4low.de/misc/binary/TWI-Test.zip">Click!</a>
_________________
MfG
Jacky2k