Forum: Mikrocontroller und Digitale Elektronik PIC18F46K80 Debug-Bit im CONFIG4L ändern


von Klatec (Gast)


Lesenswert?

Hallo Zusammen

Ich möchte im CONFIG4L Byte das Bit 7 das DEBUG ändern. Ich schreib in C 
und wenn ich das Byte mit

CONFIG4L = 17;

beschreiben möchte dann kommt immer ein syntax error. Ich dachte das es 
genaus funktioniert wie mit dem Register ANCON0=0;.
Was mache ich falsch.
Hat jemand eine Ahnung welche Einstellungen für das debuggen mit dem 
ICD3 notwendig sind, bzw. wo kann man das nachlesen.

Lg.

Johann K.

von Klatec (Gast)


Lesenswert?

Hallo Zusammen

Bitte nochmal.

von config (Gast)


Lesenswert?

CONFIG4L.7 = 1;

von Klatec (Gast)


Lesenswert?

Danke.
Aber leider nein, es kommt wieder syntax error.
Es funktioniert auch, #pragma config DEBUG = OFF, nicht.

von Mike (Gast)


Lesenswert?

Nein, durch direkte Zuweisung in C lässt sich das Configuration register 
nicht beschreiben. Schau mal ins entsprechende Kapitel im Datenblatt. 
Wenn Du CONFIG4L aus dem Programmcode heraus beschreiben willst, musst 
Du wie beim Program-Flash eine bestimmte Prozedur ausführen. Stichworte: 
long write, table write EECON1-Register.

Gruss
Mike

von Scotty (Gast)


Lesenswert?

Hatte das Problem auch schon. Meine Lösung für den 18F2550 sieht wie 
folgt aus (CC8E Kompiler):
1
void config_write(unsigned char AdressInConfig, unsigned char data_byte)
2
{  while (WR);            // Wait if READ/WRITE/.....
3
  TBLPTRU = 0x30;         // upper byte
4
  TBLPTRH = 0x00;         // high byte
5
  TBLPTRL = AdressInConfig;    // low byte
6
  TABLAT = data_byte;
7
    tableWrite();
8
  EECON1 = 0b.0100.0100;  // EEPGD = 1 EEPROM, CFGS = 0 config, WREN = 1 write enable
9
  EECON2 = 0x55;          // WRITE step
10
  EECON2 = 0xaa;          // WRITE step
11
  WR = 1;                 // Start config_write
12
  WREN = 0;               // disable write
13
}

Anwendungsbeispiel:
1
  config_write(0,0x3C);   // CONFIG1L: CPUDIV = 0, PLL = 100 (-> 96 MHz for USB)
2
  config_write(1,0x0C);   // CONFIG1H: FOSC = 1100 (-> 5 MHz for CPU)

von Klatec (Gast)


Lesenswert?

Danke für eure Antworten, kann aber leider erst wieder am Wochenende 
einen Versuch starten.

von PICfan (Gast)


Lesenswert?

Welcher µC ? Welcher Compiler? Welcher IDE?

Wenn du den MPLAB IDE benutzt, dann muss du auch im RELEASE modus 
kompilieren, wiel sonst im DEBUG modus wird der DEBUG bit im CONFIG 
automatisch gestetzt und programmiert.

Bei C18 setzt mann die CONFIG mit #pragma Befehle. (Siehe C18 
Hilfedatei)

von Klatec (Gast)


Lesenswert?

Hallo PICfan

Beim PIC18F4520 konnte ich mit #pragma config DEBUG = ON das Configbit 
setzen, aber beim PICF46K80 kommt immer folgender Fehler
'configuration setting 'DEBUG' not recognized'.

aber ich konnte auch beim PIC18F4520 nicht mit dem ICD3 debuggen, es gab 
immer eine Fehlermeldung Config kontrollieren. Ich habe ds nicht weiter 
verfolgt weil ich ohnehin den PIC18F46K80 auf meiner eigen Entwicklung 
verwende.

Ich verwende MPLAB 8.76 und den C18 v3.4.
Das mit dem RELEASE modus muss ich mir noch ansehen, aber jetzt gehe ich 
laufen, trainiere für Marathon und mach mal schnell 20 km. Danke für die 
Antworten.

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.