Forum: Mikrocontroller und Digitale Elektronik Ich verstehe das nicht ....


von Christian (Gast)


Angehängte Dateien:

Lesenswert?

Hmmm, manchmal fällt es mir ja schwer mich an neue Sachen zu gewöhnen,
aber sowas ...


Wie in voherrigen Artikeln schon gesagt: Ich möchte (muß) einen
Watchdog bauen.


Also bin ich hin, PIC16F627 bestellt, das ganze fehlende Gerödel zum
Programmieren gleich dazu (Bausatz)....



Der PIC wird von mir ohne Quartz betrieben (Conrad hats versaut,
sorry...) und ein 10K Ohm R gegen Reset.

Jedes mal, egal was ich auch mache, kommt ein Blinker dabei rum (PORTB
komplett), obwohl das im Debugger anders aus sieht ...


Kann mir dann auch mal jemand erklären, warum die Interrupt-Routine 8
Mal hintereinander aufgerufen wird, bevor irgendwas anderes passiert ?




Ich habe mich damals viel mit Elektronik befasst, steige aber nach
lange Zeit mehr oder weniger neu ein ...


Als Compiler verwende ich den PICC Lite, da ich mich mit C/C++ besser
auskenne als mit ASM ...


Kann mir da irgend jemand helfen ?


Danke !

Christian

von Andre (Gast)


Lesenswert?

Hi !!

Ich kenne den Prozessor nicht,aber musst du nicht irgendwo
den Timer initialisieren ??
Prescaler, Timer-Data-Register damit du deinen Sekunden-
Zyklus kriegst ??

Was genau meinst du mit :

---------------------------------------------------
Jedes mal, egal was ich auch mache, kommt ein Blinker dabei rum (PORTB
komplett), obwohl das im Debugger anders aus sieht ...
---------------------------------------------------

Leuchtet von Anfang an der gesamte Port B ??

----------------------------------------------------
Kann mir dann auch mal jemand erklären, warum die Interrupt-Routine 8
Mal hintereinander aufgerufen wird, bevor irgendwas anderes passiert ?
-----------------------------------------------------

Unterbricht sich die Routine selbst ??
Was geschieht nach 8 mal ??


Mehr Infos währen hilfreich.

Andre

von Christian (Gast)


Lesenswert?

OK:

Ja, alle Pins vom PortB wechseln im 0,5 Sekunden-Takt die Zustände
(Low/High)

Ja, die Routine unterbricht selbst und er mach in der while-Schleife
weiter ...

Im Debugger läuft das ja auch, nur wenn ich es auf den PIC schreibe,
dann kommt dabei ein Blinker rum ...

(Ich verwende nebenbei den Programmer von www.sprut.de ...)

Eine Idee ?


Danke ...

von Mathias Märker (Gast)


Lesenswert?

"und ein 10K Ohm R gegen Reset."

Ähh, nimmt man dafür nicht normalerweise 100 Ohm ? Mach ich jedenfalls
immer so?

Ist aber auch nicht so wichtig, könnte es sein das Du mit WDT = On
programmierst ? Vermutlich löscht Du den Watchdog nicht (CLRWDT) und
deshalb resettet der Prozessor kontinuierlich.

Nur ne Vermutung!

Gruß,
Matze

von Christian (Gast)


Lesenswert?

@Mathias:


ne, den Watchdog nutze ich nicht (s. Soucre in meinem 1. Beitrag).

Im Debugger von MPLAB sieht das anders aus und funktioniert ...

von Andre (Gast)


Lesenswert?

Hallo !!

Ich sehe immer noch nicht, wo du TMR0 und den Prescaler
initialisierst... ich vermute immer noch das du das vergessen
hast und der Timer zu schnell ausgelöst wird.

Andre

von Christian (Gast)


Angehängte Dateien:

Lesenswert?

@Andre


Meinst Du ungefähr so ?

(Wie gesagt, fange gerade an ...)

von Christian (Gast)


Lesenswert?

Hallo Zusammen,


habe heute morgen folgendes festgestellt:

Wenn der PIC Crasht, dann gibt es dieses Blinken, das selbe blinken
tritt auch auf, wenn die versorgungsspannung kurz abgesunken ist und
brown-out-reset nicht aktiv ist.

Ich gehe mal davon aus, das der compiler mist macht, wende mich erst
mal an die firma, halte euch aber auf dem laufenden. ...

Christian

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.