Gast
#24403
Schon seit ein paar Tagen suche ich verzweifelt nach einem Programm für den AVR (oder nur ein paar Routinen) um ein serielles EEPROM anzusteuern. Ich habe je einen 24C02,04,08. Ich hab gelesen, dass man SCL und SDA per Pull-Up Widerstand auf 5V zieht und am AVR zwischen Output(low) und Input(hochohmig) umschalten muss, um Daten zu übertragen, damit nicht z.B. das EEPROM die SDA Leitung nach high zieht und der AVR gleichzeitig auf low... aber wenn ich doch nur ein einziges EEPROM anschließe, sollte es doch auch ein Widerstand zwischen EEPROM und AVR tun, oder? Dann wäre ja die Ansteuerung einfacher... Wie damals auch bei meinem T6393C Display bin ich auf einen C Code gestoßen, den ich nun versuche in Asm zu konvertieren. Das ist aber gerade einfach, vor allem weil ich mehrere Wochen Pause gemacht habe und mich erst mal wieder ein bisschen reinarbeiten muss :). Bisher hab ich nur Start und Stop umgebastelt (PortD1=SDA, PortD2=SLC: i2c_start: sbi PORTD, 1 sbi PORTD, 2 rjmp pause cbi PORTD, 1 rjmp pause cbi PORTD, 2 rjmp pause i2c_stop: cbi PORTD, 1 sbi PORTD, 2 rjmp pause sbi PORTD, 1 rjmp pause cbi PORTD, 2 rjmp pause Ist das schon mal so korrekt? Und vor allem ist mein Ansatz mit der Beschaltung ok?