Hallo, Ich habe einen Xmega128a1 Prozessor. Über die TWIE Schnittstelle sollen unterschiedliche Erweiterungen angesteuert werden (RTC 8583, PCF8574, etc.) Als Compiler verwende ich Codevision AVR. Ich habe schon unterschiedliche Ansätze probiert. Unter anderem das Appnote 1308 von Atmel zu diesem Thema. Leider legen die bei dem Example den Master auf den einen und den Slave auf einen anderen Port und schicken die Daten dann im Kreis. Hat schon irgendjemand den TWI Bus ans laufen bekommen und kann mir etwas Support geben?
Servus, ich kann Dir nur meinen Beispiel-Code senden, der ist aber mit AVR-Studio (AVRGCC) geschrieben. Ich verwende die ATMEL Lib in abgewandelter Version. Teste doch mal AVR-Studio- kostet ja nichts. Ich habe auf meinem Computer auch mehrere AVR-Programme. Tipp: CodeVisionAVR ist in der neuen Version mit dem ATXMEGA CodeWizard ausgestattet. Ist für Anfänger auch nicht schlecht. Gruß GG
Hallo... vielleicht hilft es ja ein Stückchen weiter.... Ich sitze im Augenblick am gleichen Problem Viel Erfolg !
Hallo Alle zusammen, vielen Dank für Eure Unterstützung jetzt klappt es bei mir. Ich habe den Code von GG auf meinen Compiler umgeschrieben und definiert. (Er kennt kein register8_t). Dann habe ich mir die Register und die Slaveadressen auf dem Display anzeigen lassen. Ich habe festgestellt das der Controller nicht aus den
1 | while (twiMaster.status !=TWIM_STATUS_READY) |
schleife rauskommt. Bis ich im twi_master_driver die ISR gefunden habe. Das alleine reicht aber noch nicht. Der Interrupt Vector muss auch noch bei den anderen hinzugefügt werden. Da durch den Code Wizard die TWI Schnittstelle noch nicht unterstützt wird habe ich es noch von Hand hinzugefügt und siehe da es klappt. Der PCF 8574 lässt die Relais einwandfrei schalten.
Hallo an alle, ich muss auch die TWIE zum laufen bringen. Ich habe die neueste Version von CodeVisionAVR, abder die TWIE wird momentan noch nicht unterstützt. Kannst du deine Version mal posten ?
Hallo, hier ist mein Code. Wenn Du Ihn jetzt so Compilierst gibt es evtl. Fehler, da uint8_t nicht bekannt sind. Keine Sorge uint8_t ist auch nur ein unsigned char. Annsonsten laß Dich nicht von dem ganzen anderen kram in meiner Application erschlagen. Ich bilde die Daten halt auf einem Display ab und habe ein paar Taster montiert. Ich spreche über den TWI Bus, den PCF 8583 als Uhrenbaustein, PCF 8574 als IO Erweiterung ein EEProm und ein LM 75. Zudem habe ich einen Timer / Counter in der Verwendung der mir nach dem 10000 OVF Interrupt die TWI Functionen abarbeitet.
Hallo, das neue CodeVision 2.04.8 enthält nun für den TWI einen CodeWizard und eine entsprechende Header Datei.
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.