Hallo zusammen Ich möchte mit dem atmega32 über den USART Daten senden. Die Initialisierung habe ich vom Datenblatt übernommen, doch es kommt immer das gleiche zeichen am Hyperterminal an (àààààààà). An welcher Einstellung kann das liegen(siehe Sourcecode)? Beim Hyperterminal wurden folgende Einstellungen vorgenommen: Bauderate: 9600 Datenbits: 8 Parität: keine Stoppbits: 1 Danke für die Hilfe
Falsche Baudrate? Welche Quarzfrequenz? externer Quarz eingeschaltet? Stefan
Schreib mal statt 1, 2, 3, 4, 5 lieber '1', '2', '3', '4', '5'. Dann sendet er auch die gewünschte Zahle. Analog für Zeichen z.B. 'x' Gruß, Alex
Ich habe scho beide versucht und es kommt immer das à Zeichen.
> USART_Init(0x23);
Bei 3.68Mhz brauchst Du 23(+1) als Vorteiler. Du hast aber 23h = 35
angegeben.
Dann noch Zeichen statt Zahlen übergeben (was Alex gemeint hat), und es
sollte klappen.
Stefan
wenn ich es als 23 dez eingebe kommt nicht einmal mehr das à Zeichen. gruss martial
Das muss nicht unbedingt ein schlechtes Zeichen sein ;-)) Gibst Du dabei USART_Transmit(1); oder USART_Transmit('1'); aus? Die Binärwerte 0 - 32 siehst Du im Hyperterminal nicht. Statt Hyperterminal solltest Du übrigens mal das Bray-Terminal probieren, da siehst Du jeden Output Deines mc ( 0-255), wenn Du bei Recieve auf HEX schaltest. Stefan
vielen Dank für eure hilfe, ich habe das bray-terminal versucht und entlich etwas empfangen. juhuu doch leider war es etwas total anderes, darum habe ich mal den KO angeschlossen und mal die baude rate heraus gemessen, das resultat ist doch ein wenig schauderhaft. wenn ich die rate auf 9600 einstelle bekomme ich eine rate vo 500 :-(. ich glaube da stimmt noch einiges nicht. ich lege das mal auf die Seite und kümmere mich mal um etwas anderes wenn ich die Lösung habe wieso das soo ist, schreibe ich dies natürlich hier in's forum. nochmal's vielen Dank für eure tipps gruss Martial
schau mal, ob Deine fuses wirklich auf externen Quarz gestellt sind. Ansonsten werkelst Du mit 1Mhz statt den 3,6Mhz. Die Baudrate misst Du am besten, indem Du 0AA-hex sendest, dann hast Du nach jedem Bit im gesendeten Datum einen Flankenwechsel. Stefan
Vielen Dank Stefan, Du bist mein Retter!!!! Es funktioniert jetzt, es waren die fuses. gruss Martial
Oh Mann, das war die dritte Frage in der ersten Antwort auf deinen Beitrag ...
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.