Hallo, Zur Ansteuerung eines TFT Display über SPI nutze ich ein PIC18F25K22. Dieser PIC enthält die Firmware für die Wörter/Zeichen, die ich anzeigen möchte. Der PIC wird über einen "Master" mit Daten versorgt. Bisweilen habe ich den PIC18F25K22 immer mit 5 Volt versorgt. Mit umstellung des "Master" ist meine gesamte Stromversorgung der µC ietzt 3,3 Volt. Die Versorgung geht immer vom Board aus und nie vom PicKit3. Der PIC18F25K22 und das Display arbeiten mit dieser Spannung auch. Für zusätzliche Erweiterungen habe ich ihn im Debug-Modus geschaltet. Er arbeitet auch, nur wenn ich diesen anhalte, bekomme ich folgende Meldung" PK3Err0031: Failed to get PC " Heute morgen habe ich es mit einem anderem Board mit dem PIC18F26K22 getestet. Gleiches Ergebnis, sogar wenn ich den PIC vom PicKit3 versorge. Können die PIC18xxx bei einer Versorgung mit 3,3 Volt nicht im Debug-Modus betrieben werden? schönen Tag
:
Bearbeitet durch User
Doch, das sollte funktionieren. Kritisch wird es erst bei weniger als 2.2V, weil dann das Erase beim Flash nicht mehr funktioniert, wobei das erst bei den LF-Typen relevant wird. Du kannst ja mal spaßeshalber einen solchen einsetzen. fchk
Hallo, mit LF kann ich nicht dienen. Habe viel getestet. Bei der Option mit dem PIC18F26K22 stickt das PicKit3 direkt am Board, also "Kabellänge" ca. 3cm 10 kOhm von VCC nach MCLR und Kerko / Elko in der Versorgung auch vorhanden. Anderes PicKit, andere PC Leider kein Erfolg, nur bei 3,3 Volt Versorgung. Stelle ich für den PIC am PicKit3 die Versorgung auf 5 Volt, geht alles. Habe bisweilen noch nie die PIC18xxx mit 3,3 Volt betrieben. Die PIC32xxx, die ich nutze, werden doch auch mit 3,3 Volt betrieben und hier kein Problem Nutze auch hier die gleiche Programmer und PC schönen Tag
:
Bearbeitet durch User
Mein PIC18F45K50 lässt sich auch bei einer Versorgung von 2,375V per Pickit noch sauber debuggen. Entkopplung gemäß "RECOMMENDED MINIMUM CONNECTIONS" und genug
1 | #pragma config |
genügen anscheinend.
Hallo, sollte es an meinen Einstellungen liegen?
1 | #include <p18f25k22.h> |
2 | |
3 | #pragma config FOSC = INTIO67 // Internal oscillator block
|
4 | #pragma config PLLCFG = ON // Oscillator multiplied by 4
|
5 | #pragma config PWRTEN = OFF // Power up timer enabled
|
6 | #pragma config BOREN = SBORDIS // Brown-out Reset enabled in hardware only (SBOREN is disabled)
|
7 | #pragma config WDTEN = OFF // Watchdog off
|
8 | #pragma config LVP = OFF // Single-Supply ICSP disabled
|
9 | #pragma config PBADEN = OFF // PORTB<5:0> pins are configured as digital I/O on Reset
|
10 | #pragma config HFOFST = OFF // HFINTOSC output and ready status are delayed by the oscillator stable status
|
schönen Tag
Hi, ich kann wie die anderen nur bestätigen, dass es normalerweise auch mit 3,3V funktioniert. Sind PGC/PGD irgendwie noch anderweitig beschaltet? (wenn ich mich richtig erinnere, habe ich die Meldung schon mal gesehen, als die Pins noch mit irgendwas über USART verbunden waren)
Hallo, PGC/PGD sind nicht andersweitig belegt. Nehme ich die PLL Aktivierung heraus, läuft es. Schalte ich sie wieder ein, ist das Problem wieder vorhanden. PLL benötige ich, ansonst ist das TFT zu lahm.
1 | // #pragma config PLLCFG = ON // Oscillator multiplied by 4
|
2 | |
3 | void main(void) |
4 | {
|
5 | |
6 | // init internal oscilator
|
7 | OSCCONbits.IRCF = 7; // set IRCF<2:0> to 111 = 16MHz; |
8 | // OSCTUNEbits.PLLEN = 1; // multiply internal Osc Frequency by 4 = 64Mhz
|
schönen Tag
Siegfried S. schrieb: > Nehme ich die PLL Aktivierung heraus, läuft es. > Schalte ich sie wieder ein, ist das Problem wieder vorhanden. Hast du die 3,3V direkt am Chip in beiden Modi, mit und ohne PLL nachgemessen?
Selbst bei 2.5V und internen 64MHz tritt das Problem bei mir nicht auf #################################################################### Programmer to target power is enabled - VDD = 2,500000 volts. Target device PIC18F25K22 found. Device ID Revision = 5 The following memory area(s) will be programmed: program memory: start address = 0x0, end address = 0x13ff configuration memory Device Erased... Programming... Programming/Verify complete Running Halting... Target Halted Running Halting... Target Halted Running Halting... Target Halted Resetting... Target reset Running Target Halted Running ... #################################################################### PS: laut TABLE 2-1: PLL_SELECT TRUTH TABLE hat PLLCFG = 1 bei Verwendung des internen Oszillators keine Wirkung)
:
Bearbeitet durch User
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.