PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Anfänger braucht Hilfe beim Ersten Programm



khazad
12.12.2004, 23:21
Hi wollt mir mal ein erstes Test Programm schreiben und es direkt beim Simulieren testen weil ich noch keinen ISP Dongel für meinen Mega8 habe



$crystal = 4000000

Config Portb = Output
Do
Portb = $ff
Wait 1
Portb = $00
Loop
Warum bleibt der bei dem Wait befehl einfach nur stehen ?? und geht nicht weiter ?? wollt damit mal ein LED blinken Simulieren

Mfg Maik

RCO
12.12.2004, 23:26
Also ich denke schon, dass es weitergeht und auch das er blinkt, aber das ist vermutlich etwas zu schnell.

Wenn du dir mal deinen Programmablauf anschaust dann wirst du folgendes feststellen:
Nachdem der Portb auf ff gesetzt ist wartet der uC eine Sekunde, dann schaltet er portB 00
dann springt er sofort wieder zurück und setzt ihn ff.

Probiers mal so:
Do
Portb = $ff
Wait 1
Portb = $00
Wait 1
Loop

Es ist klar, dass du ein Blinken einer Led, das nur so lang ist, wie der uC zum zurückspringen und neuen setzten des Port braucht nie sehen wirst.

MFG Moritz

khazad
12.12.2004, 23:34
Also hab das So ausprobiert wie du das gesagt hast aber es passiert immer noch nichts der Pfeil der mir anzeigt welche zeile er gerade abarbeitet bleibt auch die ganze zeit da(beim ersten wait) stehen.

Mfg Maik

oe9vfj
13.12.2004, 07:34
Ändere das Programm mal auf:


$crystal = 4000000

Config Portb = Output
Do
Portb = $ff
Wait 1
Portb = $00
wait 1
Loop

Bei der Simulation musst Du noch den Button für "Refresh Variables" aktivieren, damit die LEDs für die Ports im RUN-Modus aktualisiert werden.
Die Simulation von WAIT-Befehlen dauert in Simulation je nach Rechnergeschwindigkeit um einiges länger als dies der gewünschten Zeitverzögerung entspricht. Also bitte etwas Geduld und nicht während der Ausführung des Wait-Befehls noch einmal auf den Step-Button drücken, da sonst der WAIT-Befehl unterbrochen wird.

mfg Josef

khazad
13.12.2004, 08:55
Subba Danke für eure Hilfe
hab nur nen Echt "schnellen" 300 Mhz Rechner könnte also daran liegen werde mir heut mal nen ISP basteln und das dann mal in ne minimal schaltung testen.


Mfg Maik 8-[

andysafe
16.12.2004, 09:25
Wenn du am Anfang vom Code den Befehl $sim reinschreibst , laufen die die Waits und ähnliches schneller ab.
Aber aufpassen , wenn Du dann deinen ISP hast vor der übertragung das Sim entfernen , neu compilieren und dann übertragen. Ansonsten kommt vor der übertragung eine Fehlermeldung wenn Sim noch drin steht

MfG Andreas