Forum: Mikrocontroller und Digitale Elektronik PIC16F1615 läuft im Debugger, aber nicht in Production


von Turtle64 (Gast)


Lesenswert?

Hallo, ich habe eine Platine mit PIC16F1615 drauf. Das Programm soll 
Rechtecksignale an zwei GPIOs erzeugen. Wenn ich das Programm im 
Debugger laufen lasse, ist alles ok, die Ausgangspegel sind sauber 0V 
bzw. 5V bei einem Rechteck.
Das Programm reagiert auch korrekt auf einen Taster, der an einem 
Eingang angeschlossen ist.
Es gibt auch einen analogen Eingangspin, an dem momentan 0V anliegen, 
über einen Angstwiderstand von 1 kOhm von der Signalquelle getrennt. 
Hier werden auch richtig 0V gemessen.

Wenn ich den PIC aber mit dem identischen Progamm für Production 
programmiere, bekomme ich keine Rechtecksignale mehr. Die Ausgänge 
"schwimmen" bei etwas unter 1V, ab und zu bewegt sich die Spannung 
irgendwie bis zu knapp 5V hoch, was das für Signale sind, kann ich nicht 
erklären.
Auch reagiert das Programm nicht auf das Tastensignal.
Der Analogeingang liegt auch bei etwa 0.7V, obwohl das Analogsignal 
immer noch 0V ist (da ist ja 1 kOhm dazwischen).

Kann es sein, dass die GPIOs irgendwie nicht richtig konfiguriert 
und/oder initialisiert werden?

von LDR (Gast)


Lesenswert?

Turtle64 schrieb:
> Kann es sein, dass die GPIOs irgendwie nicht richtig konfiguriert
> und/oder initialisiert werden?

Offensichtlich.

von Steve van de Grens (roehrmond)


Lesenswert?

Turtle64 schrieb:
> Wenn ich den PIC aber mit dem identischen Progamm für Production
> programmiere ...

Hast du den Debugger dann auch abgetrennt? Probiere mal, ihn dran zu 
lassen. Das können einen Hinweis auf fehlende Masse-Verbindung ergeben.

: Bearbeitet durch User
von Turtle64 (Gast)


Lesenswert?

Mit und ohne Debugger dran der gleiche Effekt. Die GPIOs werden wohl 
nicht konfiguriert.

von Peter D. (peda)


Lesenswert?

Turtle64 schrieb:
> Kann es sein, dass die GPIOs irgendwie nicht richtig konfiguriert
> und/oder initialisiert werden?

Wenn Du der Autor des Programms bist, mußt Du es doch wissen.

Im Datenblatt ist für jedes Register der Wert nach dem Reset angegeben. 
Typisch sind alle IO-Pins erstmal tri-state.

von foobar (Gast)


Lesenswert?

Für mich klingt das, als ob das Teil erst garnicht startet ...

Vcc, GND, Reset, Takt und Fuses mal gecheckt?

von Teo D. (teoderix)


Lesenswert?

foobar schrieb:
> Für mich klingt das, als ob das Teil erst garnicht startet ...

In Production ist "Hold in Reset" aktiviert und der Pin ist falsch oder 
garnicht beschalten!?

von Turtle64 (Gast)


Lesenswert?

Es ist wohl ein Hardwareproblem.
Ich habe die Platine in zwei Größen, einmal klein und einmal superklein. 
Dahinter liegt der gleiche Schaltplan. Mit der identischen Software 
läuft die kleine Version einwandfrei, die superkleine nicht. Da ist wohl 
entweder was falsch bestückt oder es ist ein Fehler auf der Platine.
Danke für die Hinweise, ich suche jetzt mal in Richtung Hardware weiter.

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.