Forum: Mikrocontroller und Digitale Elektronik Propleme bei der Config vom PIC16F690


von Sven K. (druide)


Lesenswert?

Hi,

Folgendes Proplem wenn ich meinen Quellcode debugen will, bekomme ich 
folgende Fehlermeldungen:

CUBE_1.c:16: error: falsches pragma "x"
CUBE_1.c:16: error: falsches pragma "F"
CUBE_1.c:17: error: falsches pragma "x"
CUBE_1.c:17: error: falsches pragma "B"
CUBE_1.c:18: error: falsches pragma "x"
CUBE_1.c:18: error: falsches pragma "P"
CUBE_1.c:19: error: falsches pragma "x"
CUBE_1.c:19: error: falsches pragma "W"
CUBE_1.c:20: error: falsches pragma "x"
CUBE_1.c:20: error: falsches pragma "L"
CUBE_1.c:21: error: falsches pragma "x"
CUBE_1.c:21: advisory: too many errors (11)

Diese Fehlermeldungen weisen auf meine Config vom PIC 16F690.

z.B habe ich darin stehen ->

#pragma config FOSC = HS
#pragma config BOR = OFF

So gehe ich jede einstellung durch die ich Aus dem Datenblatt entnehmen 
kann.

Bitte um anleitung zur Selbsthilfe.

von Michael S. (rbs_phoenix)


Lesenswert?

Zeig mal die c datei. Dort steht ja, dass der Compiler die Fehler in den 
Zeilen 16-21 ist.

von Sven K. (druide)


Angehängte Dateien:

Lesenswert?

Hier der Quellcode von Cube.c

Die Zeilen 16-21 beziehen sich alle auf meine #pragma config .....

von Didi S. (kokisan2000)


Lesenswert?

Hallo Sven,
ich sehe diese Verwendung von #pragma in dieser Art zum ersten Mal. Ich 
finde "config" auch nicht als keyword im Manual zum Compiler. Hast Du 
das so schon mal verwendet? Ich lerne gerne dazu ...

Ich benutze das Makro __config ohne Probleme. Zum Beispiel für PIC 
16F1829

// Konfigurationsregister setzen
__CONFIG (FOSC_INTOSC & WDTE_OFF & PWRTE_OFF & MCLRE_OFF & CP_OFF & 
CPD_OFF & BOREN_OFF & CLKOUTEN_OFF & IESO_OFF & FCMEN_OFF);
__CONFIG (WRT_OFF & PLLEN_OFF & STVREN_ON & BORV_LO & LVP_OFF);

Gruß
kokisan

von Sven K. (druide)


Lesenswert?

Ich bin ein Neuling und das ist mein erstes Programm für den PIC das ich 
schreibe, ich habe etliche Tutorials durchgeschaut und binn dan auf die
#pragma config Anweisung gestosen.
Diese hielt ich für mich die einfachste art eine Configuration für´n PIC 
zu schreiben und zu begreifen.

Wie sagt man so schön ich binn noch ein Blutiger Anfänger.

Muss mann bei dem Macro __CONFIG was beachten oder kann ich die 
schreibweise so Übernehem und Sie auf meine Bedürfnisse anpassen???

MFG Sven

von Kein Name (Gast)


Lesenswert?

Dummerweise kocht da jeder Compilerhersteller sein eigenes Süppchen.
Da kannst du nur Copy&Paste aus dem Compiler Handbuch machen.

Übrigens hast du noch Glück gehabt. Meist kommen noch einige 
Fehlermeldungen wegen unterschiedlichen Namen bei SFRs oder 
unterschiedlicher Syntax bei Bitfeldern oder ähnlicher nerviger 
Kleinkram.

von Sven K. (druide)


Lesenswert?

Ok, Ich nutze MPLAB X, als Win und Linux Version (Fahre Zwei 
Betriebsysteme),
Und nutze den HI-Tech C Compiler.

Ich habe copy & past auspropiert, und es hat gefuntzt (hab wohl Glück 
gehabt).

Wenn das jetzt noch so Funktioniert wie ich es Denke, dann versuche ich
den nächsten Schritt und Gestalte die Main Funktion etwas Komplexer.

Ich Dachte an eine art fest gesteuertes Programm bei dem ich per Taster
in ein Zufals gesteuertes Program wechsel, wobei in beiden Programm 
Teile, die leucht dauer der LEDs, die einzige gleich Konstante ist.

So versuche ich mir C für PIC sritt für schritt zu erlehrnen.


Ich Baue Jetzt erstmal Meine Platine, Bespiele den PIC und Hoffe das 
alles so Funktioniert!

Vielen Dank noch mal,

MFG Sven

von Michael S. (rbs_phoenix)


Lesenswert?

Wenn das dein erster Test ist, musst du mit dem LVP aufpassen. Ich hatte 
das mal, da hab ich einen für LVP vorgesehenden Pin als Ausgang benutzt 
und hat soweit auch funktioniert. Aber wenn man den Pin berührt hat, ist 
das Programm durcheinander gekommen, weil er halt in und wieder zurück 
aus dem programmiermodus gegangen ist. Also lies am besten nochmal im 
Datenblatt nach.

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.