Hallo Community, für den TWI- Master Modus gibt’s Beispiele wie Sand am Meer. Doch leider konnte ich nichts zum Thema Master im Interrupt-Modus finden. Hat jemand von euch schon so was umgesetzt? Ist es überhaupt möglich, oder sind die TWI- Interrupts nur für den Slave Modus interessant? ;--------------------------------------------- µController Atmega 8,16,32,128 Bitte um Hilfe !!
Alex L. schrieb: > Hallo Community, > für den TWI- Master Modus gibt’s Beispiele wie Sand am Meer. Doch leider > konnte ich nichts zum Thema Master im Interrupt-Modus finden. > > Hat jemand von euch schon so was umgesetzt? Ja. Ich gehe davon aus, daß du einen AVR meinst. > Ist es überhaupt möglich, oder sind die TWI- Interrupts nur für den > Slave Modus interessant? Funktioniert prächtig als Master. Einen Slave habe ich noch nicht implementiert, das geht aber auch.
Uhu Uhuhu schrieb: > Ja. Ich gehe davon aus, daß du einen AVR meinst. Jep ein AVR ist damit gemeint, aber eigentlich geht’s mir nur darum das Prinzip zu verstehen. > Funktioniert prächtig als Master. Einen Slave habe ich noch nicht > implementiert, das geht aber auch. hast du dazu Programmablaufpläne oder Beispielcodes? Für mich ist es unklar, wie die einzelnen Aktionen ausgeführt werden sollen? Kein plan :- )
Hallo, diese Lib ist super, i2c mit Interrupt. http://hubbard.engr.scu.edu/embedded/avr/avrlib/docs/html/index.html Gruß GG
GG schrieb: > Hallo, > > diese Lib ist super, i2c mit Interrupt. > > http://hubbard.engr.scu.edu/embedded/avr/avrlib/docs/html/index.html > > Gruß GG Danke für den Link, leider kann ich nicht so gut C. Soweit ich's verstanden habe sind da nur die Routinen(Funktionen) enthalten, aber kein konkretes Beispiel zur Anwendung. >---------------------------------------------------------------------- >---------------------------------------------------------------------- Ich möchte im Master Transmitter Modus ein Byte an den Slave übertragen. Protokoll: Start | SLA+W | 0x01 | Stop Und im Master Receiver Modus paar Bytes empfangen. Protokoll: Start | SLA+R | 0xXX | 0xXX | Stop Ist ja an sich kein Problem, solange dies nicht im Interrupt geschieht, da kann man schön gemütlich aufs TWINT- Flag warten. Doch wie realisiert man das ganze im Interrupt? Hat jemand eine Idee? Gute Nacht und bis Morgen.
Wow soviele Vorschläge :-) Hallo kann mir den keiner weiterhelfen? Oder sind hier nur C- Kinder die auf ihren Funktionen rumtrampeln? :- ) (spaß)
Hallo Community, schade dass mir keiner Helfen konnte. Inzwischen sind ca. 4 Tage flöten gegangen, bis ich selber eine optimale Lösung finden konnte. Das Problem war: Interrupt gesteuerte TWI- (IIC) Masterfunktionen im ASM. (Beitrag:TWI- Master im Interrupt ausführen). Als äußerst hilfreich erwies sich die Application Note von ATMEL: ;-------------------------------------------------------------- AVR315: Using the TWI module as IIC Master ;-------------------------------------------------------------- Die im Dokument erwähnten Beispiele beziehen sich auf die Programmiersprache C. Zu jeder Funktion gibt es ein ausführliches Flowchart, weshalb die Umsetzung in ASM. nicht all zu schwer war. Trotzdem vielen dank für eure Unterstützung. Gruß gtf
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.