Hi, ich gehe grad die ersten Schritte mit µControllern. Zwar kann ich mit dem PC ein kleines Programm schreiben, an den ATmega16 schicken und der führt das Programm aus. Aber wenn ich etwas vom µC zum PC schicken will, z.B. die HEXzahl 55 (01010101), kommt am PC ein verfälschtes Signal raus. Am µC stell ich die Baudrate 9600 (bei 8MHz) ein. Das komische ist das ich am PC eine Baudrate von 1200 einstellen muss um das richtige Signal zu empfangen. Woran kann das liegen? Hoffe irgendjemand kann mir weiterhelfen. Der ATmega16 sitzt auf einem Entwicklungsboard von www.pollin.de. Vom PC aus kommuniziere ich mit Ponyprog2000 über die Serielle Schnittstelle mit dem ATmega16. Verwende Nullmodem kabel...
Hast du den externen Takt des Boards überhaupt aktiviert? Ansonsten rennt dein M16 mit satten 1MHz intern vor sich hin. bye Frank
Da meine Kristallkugel gerade in der Werkstadt ist benötige ich und warscheinlich auch die Anderen etwas Quellcode mit dem du den Mikrocontroller gefüttert hast um dir helfen zu können. mfg Sepp
ICH RATE MAL: Externer Quarz, 8MHZ, dafür hast du auch die UART berechnet Fusebits stehen noch auf 1mhz intern? -> 9600 /8 =1200
Danke erstmal für dich Hilfe! Genau das ist der Fall! Der läuft mit 1MHz intern. @Sebastian: Genau so hab ichs berechnet und hab mich gewundert warum das so funktioniert. Werd mal nachlesen wie ich auf externen Takt umschalten kann. Wisst das vielleicht auswendig?
Du brauchst nicht unbedingt externen Takt. Es reicht den Teiler /8 in den Fusebits auszuschalten. Dann läuft er mit 8 MHz intern.
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.