Forum: Mikrocontroller und Digitale Elektronik PIC16F877A - teilweise fehlerhaft?


von Josef K. (Gast)


Lesenswert?

Hallo!

Ich habe derzeit mehrere Wählgeräte (GSM) mit jeweils einem PIC 16F877A
I/PT (TFTP-Typ) im Einsatz. Dazu ist zu sagen, dass ich den Speicher
ziemlich "randvoll" programmiert habe.

Nun hatte ich schon zweimal (2 von 10 - bis jetzt..) einen PIC, der
teilweise Programmcode falsch ausführte. Sämtliche Versuche - auch
absichtliche NOP Befehle, um eventuell fehlerhaftem Speicher
auszuweichen - scheiterten.
Als ich einen Ersatz-PIC einlötete waren die Probleme verschwunden!

Hat vielleicht jemand eine Idee, ob ich vielleicht etwas falsch gemacht
haben könnte?

Vielen Dank im Voraus Josef

von thkais (Gast)


Lesenswert?

Fehlerhaften Speicher kann ich mir nicht vorstellen, der sollte doch
bereits beim Verify erkannt werden, oder machen dies die
Programmiergeräte für PICs nicht?
Es könnte an vielem liegen. Vielleicht hast Du irgendwo ein Timing, das
extrem knapp bemessen ist, oder eine kalte Lötstelle, oder beim Löten zu
warm geworden, oder....

Wie hälst Du es eigentlich mit statischer Aufladung? Wenn ICs durch
eine statische Entladung "angeknackst" sind, müssen sie nicht
unbedingt kaputt sein - können aber sehr seltsam reagieren.

von Josef K. (Gast)


Lesenswert?

Nun, wegen Timing und so weiß ich nicht, was zB zu einem Fehler führen
kann - dies müsste dann aber an einzelnen Toleranzen gelegen sein (8
Geräte funzten ja einwandfrei).

Bezüglich statischer Aufladung muss ich wohl zugeben, etwas nachlässig
zu agieren... Werde das aber zukünftig doch in Betracht ziehen!

Kalte Lötstelle kann fast nicht sein, weil ich das IC vor dem Tausch
nachlötete - ohne Erfolg. Zu heiß geworden - möglich, kann man schwer
sagen. Diesbezüglich gebe ich mir stets Mühe, um Überhitzungen zu
vermeiden.

Gruß Josef

von Josef K. (Gast)


Lesenswert?

Ach - noch etwas zu den NOP-Befehlen:

Ich habe mich anfänglich gewundert, warum ein anderer Teil des
Programmes plötzlich nicht mehr funktionierte, wenn ich einen Teil
veränderte.
Bis mir eben die Idee kam, einmal den Speicherbereich, in welchem meine
fehlerhafte Routine lag, etwas zu verschieben und siehe da...

die Routine lief plötzlich normal, jedoch eine andere Routine nicht
mehr!!!

Deshalb glaube ich an ein Problem im Speicher.

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.