Forum: Mikrocontroller und Digitale Elektronik ICD3 PIC16F1826


von Günther V. (guvi)


Lesenswert?

Hallo Leute,
habe versucht mit dem ICD3 einen PIC16F1826 zum Laufen zu bekommen.
Konnte bisher viele Jahre an Erfahrung sammeln mit verschiedenen PIC's 
und dem 2000er-Emulator. An dem Verständnis liegt's vermutlich nicht.
Leider schaffe ich es bisher nicht über den ICD3 im Debugmode den F1826 
ordentlich zu betreiben. Bei den ersten Gehversuchen, den kompletten 
PORT-B zu setzen laufen alle Port-B-Pins von 0-5 (6 und 7 hängen ja am 
ICD3) bis auf den Port-B,RB3. Hier bekommen ich weder einen Ausgang 
gesetzt noch einen Eingang gelesen. Den PIC habe ich schon gewechselt, 
daran liegt's nicht. Am RB3 kann ich immer ca. 3Vdc messen, außer wenn 
ich mit dem ICD3 ein "erase flash device" ausführe, dann ist RB3 auf 
low.
Weiterhin habe ich versucht, den TMR0 intern als Zeitbasis für einen 
Interrupt zu verwenden, der IR kommt, ich kann die IRS-Routine 
durchlaufen, und auch wieder ins Hauptprogramm zurückkommen, bis zum 
nächsten IR. Drei Dinge sind seltsam:
1. In der IRS-Routine lösche ich das INTCON, TMR0-IF, (INTCON, Bit 2), 
das aber im Special-Funktion-Register immer auf "1" steht, die Funktion 
muß aber laufen, da der IR ja immer wieder kommt.
2. Der TMR0-Wert springt (beobachtet im SFR) mit jedem Step undefiniert 
und zählt nicht sauber hoch, so wie ich das vom ICE2000 kenne.
3. Das Timing mit dem TMR0 stimmt zeitlich nicht, könnte auch noch an 
den internen Oszillator-Einstellungen liegen, denn offensichtlich kann 
ich nicht alle Register richtig ansprechen.

Und das klappt auch nicht: Wenn ich unter 
"Debugger"->"Settings"->"Status" den "Run ICD 3 Test Interface" 
ausführe, wird jeder Testpunkt als fehlerhaft angezeigt. Der beim ICD3 
mitgelieferte Test-PIC10F202 wird bei diesem Test einwandfrei erkannt.

Das MPLAB hat die Version 8.88, ich arbeite unter Assembler.

Hat jemand eine Idee ? Mir scheint der ICD3 und der F1826 verstehen sich 
nicht so ganz.

von Frank K. (fchk)


Lesenswert?

Hast Du ANSELA und ANSELB auf 0 gesetzt? Normalerweise sind nach dem 
Reset die Analogfunktionen auf den Pins aktiv.

fchk

von Günther Vierheilig (Gast)


Lesenswert?

Danke für die Info,

die Analog-Select's sind alle für dig I/O eingestellt. Port-A 
funktioniert auch einwandfrei. Es klemmt eben nur an Port-B und hier nur 
an RB3.

Habt Ihr nen Tipp, warum auch der ICD3 Test mit dem Prozessor nicht 
klappt,
ist hier vielleicht noch ein Firmwareupdate für den ICD3 nötig ?

von K. D. (deka)


Lesenswert?

Bist du sicher, dass du alle Module deaktiviert hast die auf RB3 
zugreifen:

RB3/AN9/CPS9/MDOUT/CCP1(1,3)/P1A(1,3)

RB3 TTL CMOS General purpose I/O. Individually controlled 
interrupt-on-change.
Individually enabled pull-up.
AN9 AN — A/D Channel 9 input.
CPS9 AN — Capacitive sensing input 9.
MDOUT — CMOS Modulator output.
CCP1 ST CMOS Capture/Compare/PWM1.
P1A — CMOS PWM output.

?

von Klaus (Gast)


Lesenswert?

Günther Vierheilig schrieb:
> Es klemmt eben nur an Port-B und hier nur
> an RB3.

Nur so aus der Erinnerung: RB3 und Low Voltage Programming ??

MfG Klaus

von Günther V. (guvi)


Lesenswert?

Hallo zurück,

man kann es kaum glauben, aber das komplette Deinstallieren und die 
Neuinstallation des MBLAP 8.88 brachte den Erfolg. Mit den unveränderten 
asm- und hex-files nochmals gestartet, und siehe da, der Port-B, 3 läßt 
sich einwandfrei ansprechen. Was für eine Welt ?

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.