Wait Problem

Gast #1148501
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
Gast #1148774
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.
Persönliche Seite #1148794
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.

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren