Hallo Ich habe eon Problem mit meinem Atmega8 bzw mit dem Wait Befehl. Der Waitbefehl funtioniert nicht weder bei der Simulatin in Bascom noch auf der Platine.An was kann das liegen. ?? Weder Wait noch Waitms funktioniert. $regfile = "M8def.dat" $crystal = 8000000 $hwstack = 32 $swstack = 10 $framesize = 40 $baud = 9600 Ddrd = &B11111111 Do Portd.0 = 0 Portd.1 = 0 Waitms 500 Portd.0 = 1 Portd.1 = 1 Loop End
Also mit nicht funktionieren meine ich das Programm bleibt bei wait stehen und geht einfach nicht weiter
$regfile = "M8def.dat" $crystal = 8000000 $hwstack = 32 $swstack = 10 $framesize = 40 $baud = 9600 Ddrd = &B11111111 Do Portd.0 = 0 Portd.1 = 0 Waitms 500 Portd.0 = 1 Portd.1 = 1 Waitms 500 Loop End Siehe oben.
Wie geduldig bist du in der Simulation? Die Simulation läuft deutlich langsamer, d.h. statt 500ms real wartest du gut und gerne etliche Sekunden. Das hängt auch von der Geschwindigket des PCs ab, auf dem die Simulation läuft. Bei dem realen Ablauf: Bist du sicher, dass dein Atmega8 mit 8 MHz läuft? Die Angabe $crystal = 8000000 bewirkt nur, dass BASCOM intern die korrekte Zahl von Warteschleifen berechnen kann, damit Waitms 500 auch ca. 500 ms wartet. Wenn der Atmega8 tatsächlich mit 8 MHz getaktet wird stimmt das dann auch. Wenn der Atmega8 anders getaktet wird, z.B. mit 1 MHz Werkseinstellung, dann stimmt es nicht mehr. Das Blinken wäre dann 8x so langsam.
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.