Forum: Mikrocontroller und Digitale Elektronik MPLAB IDE 6.5 Stopwatch Probleme


von Axel Ganter (Gast)


Angehängte Dateien:

Lesenswert?

Hi Leute,

habe ein seltsames Problem mit Brakepoints und Stopwatch in MPLAB.

Wenn ich eine sehr Lange Schleife abarbeite macht er Fehler.
Im Beispiel habe ich eine Schleife, die bei 8MHz 21 Sekunden dauern
soll. Die Stopwatch zeigt aber nur 2,3 Sekunden.

Gleiches Problem auch bei einer älteren Version von MPLAB.

Bei Google und hier in Forum habe ich leider nichts gefunden.
Liegt´s am Code ???

Bei kürzeren Schleifen (z.B. 1Sekunde = 2Mio. Cycles) funktioniert es
manchmal :-). Bei ganz kleinen immer!

Danke für jeden Tip.

jo
Axel

von Axel Ganter (Gast)


Lesenswert?

>Gleiches Problem auch bei einer älteren Version von MPLAB.

hier muss ich mich korrigieren,
mit der 5.40er hab ich es nicht testen können, weil der Simulator sooo
laaahm ist (eine simulierte Sekunde dauert ca 15 Minuten)

jo
Axel

von Steffen (Gast)


Lesenswert?

Das Problem kenne ich eigentlichg nicht. Wie viele Zyklen zeigt er an?
Bei deinem Programm sind mir aber zwei Sachen aufgefallen:

1. movf  c3s,0    ;lade Start-Werte !!! hier wird der Wert des Registers
C3s in w geladen !!! nicht C3S
  richtig wäre movlw c3s

2. Für solche Schleifen gibt es unter anderem auch eine decfsz
Anweisung.

Steffen

von Steffen (Gast)


Lesenswert?

Da habe ich wohl etwas zu voreilig geantwortet. Du lädtst ja die Werte
in die Register. Also ist das OK.

Ich habe es mal schnell durch den Simulator laufen lassen. Das call
Delay benötigt 42299990 Zyklen = 21.149995s bei 8MHz. Passt also.
Könnte es sein, dass der WDT eingeschaltet ist und der Simulator
deswegen anhält?

Steffen

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.