Forum: Mikrocontroller und Digitale Elektronik Wait Problem


von MAnfred (Gast)


Lesenswert?

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

von MAnfred (Gast)


Lesenswert?

Also mit nicht funktionieren meine ich das Programm bleibt bei wait 
stehen und geht einfach nicht weiter

von Bascomfehler (Gast)


Lesenswert?

$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.

von Stefan B. (stefan) Benutzerseite


Lesenswert?

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
Noch kein Account? Hier anmelden.