Gast
#160994
Hi, ich versuche mich gerade einmal an der C Porgrammierung (ICC AVR 7 Demo) und einem STK500 mit AT90S8515. Ich habe mir ein dummes Programm aus den Beispielen genommen, welches beim Einschalten ein "Hello World" über die serielle Schnittstelle sendet. Mit dem internen Takt des STK500 (3,68Mhz) klappt das auch ganz prima (9600baud). Nun habe ich aber 2 Probleme, wenn ich den Takt mittels eines externen Quarzes erhöhen möchte. Ich habe dazu in den Quarzsockel auf dem STK500 einen Quarz (4, 10, 12, 16Mhz) gesteckt, den OCSEL Jumper jeweils entsprechend umgesteckt und möchte das Beispiel nun damit wiederholen. Problem1: Wie kann ich mit dem neuen externen Takt programmieren? Bisher stecke ich zur Programmierung den OCSEL Jumper zurück und programmiere mit den internen 3,68Mhz - das klappt. Mit externen Quarzen (z.B. 12Mhz) weiß ich nicht, ob das überhaupt geht und wenn ja, wo ich das dem AVR Studio bzw. dem ICC AVR mitteilen muss? Problem2: Ich habe nun mit internem Takt von 3,68Mhz programmiert und stecke danach den OCSEL Jumper auf meinen eingesetzen Quarz, um das Programm zu testen (UBRR jeweils entsprechend für Quarz geändert -> Abweichung je 0,2%). Mit Quarzen von 4Mhz, 10Mhz und 12Mhz funktioniert das auch und mein Hello World erscheint. Aber nicht mit 16Mhz. Dort erscheint im Hyper Terminal einfach gar nichts! Wieso? Zu schnell? Leitungslänge im STK für solche Geschwindigkeiten zu lang? Danke schonmal für Eure Antworten, Thomas PS: UBRR = 25; //set baud rate 4Mhz UBRR = 64; //set baud rate 10Mhz UBRR = 77; //set baud rate 12Mhz UBRR = 103; //set baud rate 16Mhz