Hallo. Ich habe folgendes Problem. Ich habe ein kleines Programm geschrieben, welches die berühmten Worte "Hallo Welt" über die serielle Schnittstelle raushaut. Nun ist es aber so, dass mein HyperTemrinal nur Blödsinn empfängt. Liegt das jetzt daran, dass ich bei der Programmierung Fehler gemacht habe, oder ist doch meine Hardware dran schuld. Desweiteren würde mich mal interessieren, warum der gcc-Compiler ein hex-File generiert in dem die ersten 9 Zeilen fast idendtisch sind. :100000000C9446000C9463000C9463000C94630001 :100010000C9463000C9463000C9463000C946300D4 :100020000C9463000C9463000C9463000C946300C4 :100030000C9463000C9463000C9463000C946300B4 :100040000C9463000C9463000C9463000C946300A4 :100050000C9463000C9463000C9463000C94630094 :100060000C9463000C9463000C9463000C94630084 :100070000C9463000C9463000C9463000C94630074 :100080000C9463000C9463000C94630011241FBE55 Wenn jemand eine Idee hat, dann wäre ich für die Unterstützung dankbar.
> Desweiteren würde mich mal interessieren, warum der gcc-Compiler > ein hex-File generiert in dem die ersten 9 Zeilen fast idendtisch > sind. Weil da die Interrupt-Vektor-Tabelle gespeichert ist. Alle interrupts, die du nicht nutzt, werden auf einen default-Handler gestellt.
Das erklärt so einiges, aber nicht alles. Das ist das erste mal, dass ich sowas bekomme. Wenn ich Programme für den ATMega8 compiliere, dann erhalte ich die Interrupt Tabelle nicht. Aber nun gut. Wenn dem so ist, dann kann ich damit leben. Ich bedanke mich für Antworten. Wenn jetzt noch ein Input für mein anderes Problem kommt, dann bin ich rundum zufrieden.
Ja, der Aufbau und Länge ist unterschiedlich, so dass sie beim ATMega8 so kurz ist, dass man sie nicht sofort wahrnimmt, während der ATMega128 sehr viele Interrupts besitzt. Zu dem Init schau dir mal das Datenblatt für den ATMega128 an, da steht, wie man den richtig initialisiert; hat bei mir immer funktioniert. Der Unterschied ist, dass es ein USART mit mehr Registern ist, so dass URSEL so weit ich mich richtig erinnere wegfällt(war doch das um das UARST Register Selection Bit, oder?); funktioniert denn das Compilieren? Im Datenblatt ist sogar ein C-Code-Bsp! Helge
Jaujau. Ich habs gefunden. Funktioniert wunderbar. Wer lesen kann ist halt klar im Vorteil. Ich hatte die ganze Zeit USART1 am Wickel anstatt USART0. Vielen Dank nochmal.
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.