PIC: Was bedeutet diese Fehlermeldung?

Gast #1407907
Lesenswert?

Hallo Leute

Ich bin PIC-Anfänger. Möchte die ersten Schritte mit MPLAB in "C und 
einem 18F2450 machen. Der Compiler übersetzt mein "Blinkprogramm" ohne 
zu murren.

Wenn ich aber mit PICKIT2 das Hexfile öffne bekomme ich diese 
Fehlermeldung:


Some configuration words not in hex file
ensure default values above right are accept


Ich gehe davon aus dass beim compilieren ein Teil der configuration 
nicht in das Hexfile eingeflossen ist und ich die Standartwerte 
akzeptieren müsse.

Komischer weise liegt mein Hexfile dann auch im Ordner:
 ....Microchip\MPLAB IDE\MCC18\h

Was muss ich genau damit hier alles ohne Fehlermeldung klappt?


Gruss

uC-Schmied
Gast #1407926
Lesenswert?

>Wenn ich aber mit PICKIT2 das Hexfile öffne bekomme ich diese
>Fehlermeldung:

Ich habe kein PICKIT2, wie läuft das denn ab? Hast du da ein spezielles 
GUI oder läuft das wie bei den ICD oder RealICE über MPLAB intern ab. Da 
öffne ich keine HEX-Files um sie auf den Controller zu spielen, dafür 
gibt es einen Button 'Load Program'

>Some configuration words not in hex file
>ensure default values above right are accept

Welche Werte stehen denn 'above'? Wie gesagt, ich kenne jetzt das 
PICKIT2 nicht.

Schau aber mal unter MPLAB->Configure->Configuration bits ob dort ein 
Haken in der Checkbox 'Configuration Bits set in Code' gesetzt ist. Wenn 
ja, mach den mal raus und probiers nochmal, die Einstellungen dort 
müssten dann ins Hexfile übernommen werden.
Gast #1408042
Lesenswert?

Servus

vielleicht erwartet PICKIT Configurationseinstellungen in der Art:

#pragma config WDT = OFF
#pragma config OSC = INTIO1
#pragma config PWRT = ON
#pragma config LVP = OFF
#pragma config BOR = ON
#pragma config BORV = 27
#pragma config FSCM = ON
#pragma config IESO = ON
#pragma config MCLRE = ON
#pragma config CP0 = OFF
#pragma config CP1 = OFF


Gerhard
Gast #1408101
Lesenswert?

Hallo Gerhard

Ich habe dein Code ausprobiert und glaube auch dass es was damit zu tun 
hat.
Vermutlich was mit dem Oszillator. Muss ich da noch irgendwas 
einstellen?

Ich habe einen 20MHz Quarz dran.

Diese Fehlermeldungen kamen.



.........Error [1224] configuration setting 'OSC' not recognized

.........Error [1225] configuration value '27' not recognized for 
configuration setting 'BORV'

.........Error [1224] configuration setting 'FSCM' not recognized

Gruss
Gast #1408480
Lesenswert?

Ich scheine wohl ein bisschen Farbenblind zu sein. Ich habe die 
Configurationseinstellungen auskommentiert. Wenn ich aber alles 
Aktiviere kommen die oben genannten Fehlermeldungen.

Also irgenwie muss es mit dem Oszillator zu tun haben.

.........Error [1224] configuration setting 'OSC' not recognized


Deshalb wir er wohl nicht getaktet und so blinkt nicht.


PS
Blöde Frage. Wo kann ich die C-Befehle für den entsprechenden 
Microcontroller nachschauen?
Persönliche Seite #1408580
Lesenswert?

Hallo,

so sieht die Konfiguration für nen PIC18F4550 aus:

        #pragma config PLLDIV   = 5         // (20 MHz crystal on PICDEM 
FS USB board)
        #pragma config CPUDIV   = OSC1_PLL2
        #pragma config USBDIV   = 2         // Clock source from 96MHz 
PLL/2
        #pragma config FOSC     = HSPLL_HS
        #pragma config FCMEN    = OFF
        #pragma config IESO     = OFF
        #pragma config PWRT     = OFF
        #pragma config BOR      = ON
        #pragma config BORV     = 3
        #pragma config VREGEN   = ON      //USB Voltage Regulator
        #pragma config WDT      = OFF
        #pragma config WDTPS    = 32768
        #pragma config MCLRE    = ON
        #pragma config LPT1OSC  = OFF
        #pragma config PBADEN   = OFF
        #pragma config CCP2MX   = ON
        #pragma config STVREN   = ON
        #pragma config LVP      = OFF
//      #pragma config ICPRT    = OFF       // Dedicated In-Circuit 
Debug/Programming
        #pragma config XINST    = OFF       // Extended Instruction Set
        #pragma config CP0      = OFF
        #pragma config CP1      = OFF
//      #pragma config CP2      = OFF
//      #pragma config CP3      = OFF
        #pragma config CPB      = OFF
//      #pragma config CPD      = OFF
        #pragma config WRT0     = OFF
        #pragma config WRT1     = OFF
//      #pragma config WRT2     = OFF
//      #pragma config WRT3     = OFF
        #pragma config WRTB     = OFF       // Boot Block Write 
Protection
        #pragma config WRTC     = OFF
//      #pragma config WRTD     = OFF
        #pragma config EBTR0    = OFF
        #pragma config EBTR1    = OFF
//      #pragma config EBTR2    = OFF
//      #pragma config EBTR3    = OFF
        #pragma config EBTRB    = OFF

Da dein PIC ihm sehr stark ähnelt, bis auf der Speicher, kannst es damit 
probieren.

Gruß Sascha
Persönliche Seite #1408748
Lesenswert?

Hallo,

erstmal nutzt man für Ausgänge die LAT Register, für Port A dann LATA.

halt so:

    while(1)
    {
      LATA = 0xFF;
      Delay10KTCYx(100);
      LATA = 0x00;
      Delay10KTCYx(100);
    }

Desweiteren ist am PORTA der A/D Wandler. Standart ist dieser 
eingeschaltet. Um den Port als Digital zu nutzen, muß im ADCON1 
Register,
PCFG0-3 auf 1 gesetzt werden:

ADCON1 |= 0x0F;


Gruß Sascha

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