djdune
12.08.2010, 08:45
Hallo Liebe Leute!
Vorab möchte ich sagen, dass ich eigentlich PIC Programmierer bin, aber nun für ein Studiumsprojekt einen Atmel programmieren muss.
Ich muss einen I2C Slave basteln, der von meinem PIC Master Befehle bekommt.
Ich habe das Beispielprojekt aus dem Wiki übernommen: http://www.rn-wissen.de/index.php/TWI_Slave_mit_avr-gcc
Testhalber lasse ich eine Led Flashen, wenn die TWI ISR ausgeführt wird. Das funktioniert auch, wenn ich vom Master die Adresse vom Slave sende.
Nun zu meinem Problem:
Der Slave geht immer nur in den Transmit Modus, obwohl er nicht die Befehle dazu bekommt.
Den Code habe ich nicht abgeändert, bis auf ein Led Flashen bei Sende und Empfangsmodus eingebaut und davon leuchtet immer nur die vom Sendemodus.
Mein PIC sendet eigentlich auch nur die Daten wie bei einem EEPROM (start > Slave_addr > data1 > data2 > data3 > Stop)
Muss man noch irgendetwas dafür beachten? Ich danke für jeden Denkanstoß, da ich schon sehr zermürbt bin wegen dem Problem.
Vorab möchte ich sagen, dass ich eigentlich PIC Programmierer bin, aber nun für ein Studiumsprojekt einen Atmel programmieren muss.
Ich muss einen I2C Slave basteln, der von meinem PIC Master Befehle bekommt.
Ich habe das Beispielprojekt aus dem Wiki übernommen: http://www.rn-wissen.de/index.php/TWI_Slave_mit_avr-gcc
Testhalber lasse ich eine Led Flashen, wenn die TWI ISR ausgeführt wird. Das funktioniert auch, wenn ich vom Master die Adresse vom Slave sende.
Nun zu meinem Problem:
Der Slave geht immer nur in den Transmit Modus, obwohl er nicht die Befehle dazu bekommt.
Den Code habe ich nicht abgeändert, bis auf ein Led Flashen bei Sende und Empfangsmodus eingebaut und davon leuchtet immer nur die vom Sendemodus.
Mein PIC sendet eigentlich auch nur die Daten wie bei einem EEPROM (start > Slave_addr > data1 > data2 > data3 > Stop)
Muss man noch irgendetwas dafür beachten? Ich danke für jeden Denkanstoß, da ich schon sehr zermürbt bin wegen dem Problem.