Forum: Mikrocontroller und Digitale Elektronik Softwarereset beim PIC16F876


von Holger (Gast)


Lesenswert?

Hallo,

weiß jemand wie ich in Hi-tech C den PIC16f876 resetten kann?

MFG Holger!

von Jangomat (Gast)


Lesenswert?

laß ihn in den WatchDog laufen (prescaler vorher minimal machen)
for (;;) {}

von Holger (Gast)


Lesenswert?

Mein WatchDog ist eigentlich nicht aktiv. Kann ich ihn
trotzdem direkt vor der Endlosschleife aktivieren? Wenn ja,
wie?
Und wie mache ich den prescaler minimal?

MFG Holger

von Jangomat (Gast)


Lesenswert?

Nein, der kann nur dauernd aktiv oder deaktiviert sein (wird durch Fuse 
eingestellt!).
Den Prescaler (und ob er überhaupt mit Prescaler arbeiten soll) stellst 
Du im OPTION Register ein.

von Holger (Gast)


Lesenswert?

Gibt es nicht noch eine andere Möglichkeit ihn zu resetten?
Sonst muss ich den WatchDog noch in mein ganzes Programm einbauen.

MFG Holger

von Fernando Heitor (Gast)


Lesenswert?

Du kannst es mit dem Goto-Befehl in Assembler erreichen.
Folgendes gibst du für das Ausführen des Softwarereset ein:

#asm
goto 0x0000
#endasm


Damit springt er in die Anfangsadresse des Programmes und alle Variablen 
und Register sind im DEFAULT-Zustand.


Gruß
Fernando Heitor

von crazy horse (Gast)


Lesenswert?

das ist dann aber kein echter reset, funktioniert aber, wenn die gesamte 
On-Chip-Peripherie initialisiert wird (oft macht man nur das, was 
gebraucht wird und geht ansonsten vom reset-status aus).
Andere Möglichkeit: einen freien Portpin mit dem Reset-Eingang verbinden 
und mit diesem Pin den reset auslösen.

von Holger (Gast)


Lesenswert?

Perfekt, danke, jetzt funktionierts.

MFG Holger

von Holger (Gast)


Lesenswert?

Rein Interesse halber,
welches ist der Reset-eingang?

MFG Holger

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.