Microcontroller PIC SPI und ICSP gleichzeitig benutzen

OP #7645639
Lesenswert?

Hallo zusammen,

für ein kleines Bastelprojekt möchte ich einen PIC16F1454 benutzen. Dieser soll mittels SPI die Werte eines Temperatursensor auslesen. Das ganze programmiere ich mit einem PICKIT3. Nun zu meinem Problem, der vorhandene µC hat jeweils 2 Anschlüsse für ICSPDAT und ICSPCLK, nämlich RC0 und RC1 und RA0 und RA1. Sobald ich den Microcontroller mit dem PICKIT über die PINS RA 0 bzw RA1 verbinden und programmieren will, meckert das Programm rum, dass die Device ID nicht vorhanden ist. An den Anschlüssen RC0 und RC1 funktioniert alles, aber dort will ich die SPI Daten aufnehmen.

Wie kann ich dem µC sagen, dass ich die PINS RA0 bzw. RA1 benutze zum ICSP programmieren?

Danke

#7645646
Lesenswert?

Hallo Toni,

schau mal ins DB auf Seite 12. Dort gibt es die Ergänzung #3 bei PORTA.0/1. Dort steht: 3: LVP support for PIC18(L)F1XK50 legacy D.h. bei Deinem PIC steht ICSP nur an PORTC zur Verfügung.

DB: https://ww1.microchip.com/downloads/aemDocuments/documents/OTH/ProductDocuments/DataSheets/PIC16LF1454-5-9-14-20-Pin-8-Bit-Flash-USB-Microcontroller-with-XLP-Technology-DS40001639C.pdf

#7645679
Lesenswert?

Da Du nicht gesagt hast um welchen Sensor es sich handelt, wäre meine Antwort... Kann sein das ICSP auch mit angeschlossenem Sensor funktioniert oder auch nicht. Probier es doch eben mal aus wenn alle Bauteile vorhanden. Sensor dran, PicKit dran und Du hast die Antwort.

#7645694
Lesenswert?

Volker schrieb:

Hallo Toni,

schau mal ins DB auf Seite 12. Dort gibt es die Ergänzung #3 bei PORTA.0/1. Dort steht: 3: LVP support for PIC18(L)F1XK50 legacy D.h. bei Deinem PIC steht ICSP nur an PORTC zur Verfügung.

Nein, das heisst diese Fußnote gerade NICHT! Warum sollte es auch bei einem Datenblatt zu einem ganz anderen PIC erwähnt werden.

Diese Fußnote bedeutet das auf diesen PINs ICSP zur Verfügung steht um den IC als "Plug-In" Ersatz in SCHALTUNGEN einzusetzen die ursprünglich für die Pic 18F1xK50 designt/Layoutet wurden.

Allerdings steht dieser Port NUR im LVP Modus zur Verfügung. Das bedeutet das, um diesen Port zu verwenden, das LVP Bit gesetzt sein muss und man natürlich im LVP Modus arbeiten muss.

Siehe: https://ww1.microchip.com/downloads/en/DeviceDoc/41620C.pdf

Gruß Carsten

OP #7646008
Lesenswert?

Das mit den Widerständen auf SDO und SCK funktioniert, nun wird der Controller durch die Software erkannt. Interessant zu wissen wäre nun ob beim Debugging selber, die Daten auf dem Bus verfälscht werden. Also kann nun durch das PICKIT gleichzeitig gedebuggt und die Sensordaten gelesen werden?

#7647056
Lesenswert?

Toni schrieb:

Das mit den Widerständen auf SDO und SCK funktioniert, nun wird der Controller durch die Software erkannt.

Ei sischa. :)

Interessant zu wissen wäre nun ob beim Debugging selber, die Daten auf dem Bus verfälscht werden. Also kann nun durch das PICKIT gleichzeitig gedebuggt und die Sensordaten gelesen werden?

Und? Hast du es schon herausbekommen?

Total OT: Die Mannen von ST, sagen uebrigens auf ihren Veranstaltungen immer DebÜgger dazu. Das waere dann kwasi "gedebÜggt". :) Aber die sind ja auch aus Fronkroisch.

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren