Forum: Mikrocontroller und Digitale Elektronik PIC18F452 macht dauernd einen Reset


von Ingo M. (daddy)


Angehängte Dateien:

Lesenswert?

Hallo,
ich habe folgendes Problem:

Ich habe 2 PCs,
auf beiden ist MPLAB und HI-Tech C18 installiert.
Mein Programm arbeitet einwandfrei wenn ich es von dem einen Rechner in 
den PIC schiebe.
Wenn ich es mit dem 2. Rechner mache dann macht der PIC ca. jede Sekunde 
einen Reset.
Ich habe schon vieles versucht und entfernt,
z.B. alle Timer mit 0 in einer Schleife laden (dachte es kommt von einem 
Timerüberlauf), ich habe es mit WDT=0 versucht,
auch ohne irgendwelche angeschlossenen Eingänge.
mir fehlen wirklich die Ideen.

Den Gegentest mit dem anderen Rechner habe ich gemacht,
scheint am Rechner zu liegen,
oder an einer Konfiguration die ich nicht kenne und die im Hintergrund 
geschieht.

Weiß jemand Rat oder hat ne Idee?

Takt ist 20MHz.
Mein Programm habe ich im Anhang, es läuft wie es ist von dem einen 
Rechner aus.
Bitte nicht lachen, bin Anfänger und programmiere etwas umständlich :-)
Aber ich lasse mir gerne sagen was ich falsch mache oder besser machen 
kann.

Dank und Gruß
daddy

von C. H. (_ch_)


Lesenswert?

> Wenn ich es mit dem 2. Rechner mache dann macht der PIC ca. jede Sekunde
> einen Reset.
auch wenn das Programmierkabel abgezogen ist?

von Christian J. (elektroniker1968)


Lesenswert?

Hallo,

der 18F452 ist obsolet, ich hatte das gleiche Problem beim 20 Mhz, dass 
er dauernd resettet. Daher betrieb ich den nur noch mit 8 Mhz. Mit dem 
stimmt was nicht und daher wird er auch nicht mehr produziert.

Christian

von Ingo M. (daddy)


Lesenswert?

Hallo,
es liegt nicht am Programmierkabel.
Habe das Gefühl, dass warum auch immer etwas nicht richtig konfiguriert 
wird.
Quasi eine Konfiguration die in meinem Programm fehlt und irgendwie 
automatisch geschieht (und sich unterscheidet von Rechner zu Rechner)

Danke für deine Hilfe und schönen Sonntag noch,
daddy

von Ingo M. (daddy)


Lesenswert?

Christian J. wrote:
> Hallo,
>
> der 18F452 ist obsolet, ich hatte das gleiche Problem beim 20 Mhz, dass
> er dauernd resettet. Daher betrieb ich den nur noch mit 8 Mhz. Mit dem
> stimmt was nicht und daher wird er auch nicht mehr produziert.
>
> Christian

Hallo,
ich werde mal Versuche mit anderen Taktungen machen,
aber von dem 1. PC programmiert funzt es einwandfrei O_o

Kannst du einen Ähnlichen PIC vorschlagen der die Probleme nicht hat?

Auch dir noch einen schönen Sonntag,
daddy

von Ingo M. (daddy)


Lesenswert?

Hallo,
habe einen Versuch mit 5MHz und 16MHz gemacht,
ändert nichts an der Tatsache...

von pq (Gast)


Lesenswert?

wie ist die Einstellung für "Low Voltage Programming" ??
sollte OFF sein.

von Ingo M. (daddy)


Lesenswert?

pq wrote:
> wie ist die Einstellung für "Low Voltage Programming" ??
> sollte OFF sein.

Hallo,
ich habe es im Code nicht konfiguriert,
sollte somit aus sein.
Oder liege ich da falsch?

von Ingo M. (daddy)


Lesenswert?

Hallo an Alle,
der Fehler ist gefunden.

Ursache war der Watchdog.

Habe ihn im Code nicht programmiert.
Wenn ich die Konfiguration von MPLab anwähle und dort den WD ausschalte 
gehts auch mit dem 2. PC.

Seltsamer Weise waren die Einstellungen bei beiden PCs gleich...

Ich danke euch für eure Hilfe,
Liebe Grüße
daddy

von C. H. (_ch_)


Lesenswert?

Ingo März wrote:
> Seltsamer Weise waren die Einstellungen bei beiden PCs gleich...
wenn du das gleiche Projekt-file verwendet hast, sollte es auch gleich 
sein!

Gruß
Christian

von Rene B. (yob) Benutzerseite


Lesenswert?

Mein Tipp,

immer im Quellcode Configuration direkt mit rein, erst wenn alles 100% 
läuft Stück für Stück rausnehmen und manuell in IDE oder wo anders 
festlegen, wenn die Configuration nicht mit im Quellcode stehen soll.

Gruß Yob.

von Ingo M. (daddy)


Lesenswert?

das ist ja das seltsame.
mein Projekt besteht aus 2 C-Files, Konfiguration in dem Programm.
Diese habe ich kopiert und neu kompailiert...

von Ingo M. (daddy)


Lesenswert?

Rene B. wrote:
> Mein Tipp,
>
> immer im Quellcode Configuration direkt mit rein, erst wenn alles 100%
> läuft Stück für Stück rausnehmen und manuell in IDE oder wo anders
> festlegen, wenn die Configuration nicht mit im Quellcode stehen soll.
>
> Gruß Yob.

werde es so machen,
danke für den Tipp.

Gruß daddy

von C. H. (_ch_)


Lesenswert?

Ingo März wrote:
> das ist ja das seltsame.
> mein Projekt besteht aus 2 C-Files, Konfiguration in dem Programm.
> Diese habe ich kopiert und neu kompailiert...
es werden aber schon BEIDE Files kompiliert?!

Mit dieser Taktik bin ich selbst mal auf die Schnauze gefallen... Hatte 
die Devicekonfiguration (warum auch immer?) in ein separates File 
gepackt und vergessen diese Datei dem Projekt hinzuzufügen * arggg *

Gruß
Christian

von Ingo M. (daddy)


Lesenswert?

Hallo,
ich habe nochmal nachgesehen,
es ist bei beiden Rechnern eingestellt, dass die Konfiguration im Code 
erfolgt- und der ist gleich.
Ich kanns mir echt nicht erklären,
aber die Ursache ist ja gefunden :-)

Danke an alle.

von Christian J. (elektroniker1968)


Lesenswert?

Hallo,

wenn Du die Konfiguration auf "defined in code" lässt werden die 
Preprozessor Anweisungen genommen (zumindest für den CCS Compiler)
Wenn Du das Debug Bit gesetzt hast main.c->Eigenschaften wird der WDT 
abgeschaltet und der Brownout. Low Volatge muss immer AUS sein, sonst 
resettet der laufend.

Ich würde den 452 trotzdem nicht nehmen, der FAE von MC sagte mir 
damals, der sei abgekündigt und war nur ganz kurz auf dem Markt, State 
of the Art sind die 18er mit internem Oszillator.

Ich frickel auch grad mit einem 18F4685 herum, leider hat MC das Sample 
Programm stoniert, so dass man die Dinger für 13,95€ jetzt kaufen muss. 
So teuer ist nicht mal der ARM7, NEC bietet wesentlich höher entwickelte 
uC für 1,5€ an :-(

von Ingo M. (daddy)


Lesenswert?

Hallo,
habe mir gestern 2 18F4685 bestellt,
hab ich mir bei MC rausgesucht.
Gekommen bin ich auf diesen Typ weil er am meisten Speicher hat :-)

Gibts bei eBay für 7-8€ aus GB.

Wenn es dir nichts ausmacht könntest du mir mal deinen Code anhängen,
bin gerade daran die Programmierung zu erlernen und sehe gerne wie etwas 
(besser) gemacht wird. Tu mir noch ein wenig schwer wie du an meinem 
Code sehen kannst O_o
Aber mann lernt nie aus ;-)

Gruß daddy

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.