Hallo alle miteinerander, ich habe eine ATMEGA32 auf einem selbstgebauten Board. Dort ist ein 16MHz Quartz mit 2 Kondensatoren 22pF angeschlossen. Ich habe die aktuellen Fusebits wie in meinem Bild gezeigt eingetellt. Ich habe nun folgendes Programm: $regfile = "m32def.dat" $framesize = 32 $swstack = 32 $hwstack = 32 $crystal = 16000000 $prog &HFF , &HEF , &HD9 , &H00 ' generated. Take care that the chip supports all fuse bytes. $baud = 9600 Config Portc.0 = Output Config Portc.1 = Output Config Pind.7 = Input Portd.7 = 1 Do If Pind.7 = 1 Then Portc.0 = 0 Portc.1 = 0 Else Portc.0 = 0 Portc.1 = 1 Waitms 1000 Portc.0 = 1 Portc.1 = 0 Waitms 1000 End If Wait 1 Loop End -------------------------------------------------------- Es sollten nun bei drücken das Schalters beide LED´s gleichzeitig lang blinken. Jetzt habe ich folgende Probleme: 1. Es dauert recht lange, bis die LED anfangen zu blinken, bei betätigung des Schalters. 2. Die LED´s blinken unterschiedlich lang! die eine genau 1Sek und die anderen ca. 1,9Sek. Wodran kann es liegen?! Habe die die Fusebits richtig eingestellt?! Im Code ist auch auf 16MHz umgestellt. Hoffe mir kann einer helfen und schon vielen Dank!
Ergänzung: Die unsynchronität wurde beseitigt! Kam durch das "Wait 1" im Quellcode. Dann bleibt eigentlich nur noch die Frage, ob die Fusebits richtig eingestellt sind, für externen 16MHz Takt
Mein Tipp: Stelle doch einfach die Fusebits für 16MHz mit ext. Quartz ein.
Hi, Das kannst du ganz leicht selber überprüfen,indem du ins Datenblatt unter dem Punkt "System Clock and Clock Options" schaust.Link: http://www.atmel.com/Images/doc2503.pdf
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.