Hallo zusammen Habe das Tutorial UART nachgebaut und getestet(mega8 4MHz). Nur ist das Ergebniss nicht so wie es sein soll. Irgendwie werden die Zeichen "verdreht" Beispiel: Das 'T' wird zum 'W' aus Binär 01010100 wird 01010111 nach weiteren Tests folgendes Ergebniss Alle Bits werden invertiert und nach links geschoben, wobei Bit 0 (rechte Bit) gleich dem Bit 7 (das nach links "rausgeschobene" Bit ist). Für das 'T' invertiert verschoben 01010100 -> 10101011 -> 010100111 Muss ich nun alles per hand umrechnen oder was läuft Falsch.
Den CD4066 habe ich zwischegeschaltet. Der Max232 macht doch nichts anderes als den Pegel zu wandeln, oder. Habe es auch mit nem OP versucht mit selben ergebniss. ich bekomme es nur in den griff mit folgendem Code. serout: sbis UCSRA,UDRE rjmp serout mov temp2 ,temp ldi r18, 0b11111111 eor temp, r18 eor temp2, r18 rol temp2 rol temp out UDR, temp ret ist noch nicht das ware aber es läuft. das kann doch nicht sinn des ganzen sein.
ja wenn ich den max richtig verstehe wandelt er nur den pegel von +-12 auf ttl und umgekehrt aber das erklärt noch nicht die verschiebung. ist mega8 defekt?was ich nicht glaube da alles so ist wie in Tutorial ASM. mit der konvertierung geht es ja.
>imo invertiert der max die zeichen auch..
Und genau das verursacht den Fehler.
Der Effekt mit dem um 1 Bit verschieben liegt wahrscheinlich am ebenfalls invertierten Startbit. Immerhin ganz witzig, dass überhaupt noch was sinnvolles rauskommt bzw. dass Sacha einen Zusammenhang gefunden hat ... Stefan
High Pegel am UART <=> negative Spannung an V24 Low Pegel am UART <=> positive Spannung an V24 wird bei selbergebastelten V24 Pegelkonvertern bisweilen vergessen.
Das zu übertragende Zeichen wird so auf der Leitung erscheinen: Startbit,D0,D1,D2,D3,D4,D5,D6,D7,[Parität,]Stopbit,[2.Stopbit] es wird also zuerst das unterste datenbit übertragen. Gruss
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.