|
BaslerChr
6 Beiträge
 Neuer Benutzer
|
04-02-2012 15:49
Hallo zusammen,
Hat jemand Erfahrungen bei der Benutzung von I2C und LCD am Mini-Mega-Board?
Ich habe das Board um einen I2C Bus erweitert (Pin 22=SCL und Pin 23=SDA mit 5k1 Pull-Up Widerstände).
Das Display und I2C benutzen also zwei gemeinsame Leitungen (SDA=D5 und SCL=D4).
Es ist am Bus I2C nur ein RTC PCF8583 angeschlossen.
Ich habe nun das Problem, dass die Übertragung (Lesen der Uhrzeit aus PCF8583) über den I2C Bus das Display stört. Es werden dann "s<-<-<33;333;?333333" usw im Display angezeigt.
Ich benutze die im Buch "AVR Hardware und C-Programmierung in der Praxis" und die hier runtergaldenen Funktionen für die Ansteuerung des Displays und des I2C Buses.
Danke im Voraus und Gruss
Chris
Beitrag editiert von BaslerChr
am 04-02-2012 15:49
|
|
wkrug
340 Beiträge
 Erfahrener Benutzer
|
05-02-2012 14:15
Irgendwie passt da etwas nicht zusammen.
I²C wird bei den ATMEL's als TWI bezeichnet mit SDA und SCL.
Die SPI hängt aber an den Ports MISO, MOSI, und SCK.
Wenn Du beides an den gleichen Pins betreiben willst sind Probleme eigentlich zu erwarten. Da weder das Protokoll, noch die Schnittstellenparameter zusammen passen.
Wenn sich ein I²C Chip angesprochen fühlt setzt er nach einer kompletten Nachricht ein ACK, was den Bus dann nach GND zieht.
Wann das passiert, ist letztlich nur von den Bitmustern abhängig die auf den beiden Leitungen liegen.
SPI ist da einfacher zu handeln, weil jeder angesprochene Chip ja auch noch eine !CE Leitung hat, die ihn normalerweise für den Bus inaktiv schaltet. Das gibts bei I²C nicht!
|