Gast
#2129140
Hi! Eine typische Glaskugelfrage, aber vielleicht kann ja jemand einen Tipp geben, wonach ich suchen könnte: Ich hatte einen Atmega16 im Einsatz und habe diesen nun gegen einen Atmega644 getauscht. An PA6 und PA5 ist ein externes I2C-Eeprom (24x irgendwas) angeschlossen, wobei ich Software-I2C mit der Lib von Peter Fleury nutze. Hardware-I2C geht nicht da die Pins schon vergeben sind. Mit dem Atmega16 hat das problemlos geklappt, aber seit dem Tausch hängt sich entweder das Programm auf, oder es werden nur Nullen aus dem Eeprom gelesen. Lustig ist auch, dass ich keine Aktivität an PA5 und PA6 sehen kann (Ozi, LogicAnalyzer). Wenn ich die Pins als Test im Programm als Low oder High definiere, sehe ich das. Die Hardware ist also ok. Mein Eindruck ist, dass der gesamte I2C-Code einfach keine Wirkung hat, was ich nicht verstehe. Im Atmel-Dokument zur Migration von Atmega16 auf 644 wurde ich nicht fündig, und spezielle Port-Funktionen gibt es auf PortA auch nicht die ich irgendwie nutzen würde. Gibt es irgend welche Unterschiede zwischen dem Atmega16 ung 644, die sich so auswirken könnten? Gruß, Chris