www.mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik Problem C-Compiler mit PIC16F628 und MPLAP


Autor: Jupp (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ich bin am verzweifeln.

Ich habe ein kleines Programm in C für einen PIC16F628 geschrieben und
will jetzt ein HEX File daraus machen.

Als erstes habe ich es mit dem CC5x Compiler probiert und habe immer
folgendes Problem dabei gehabt:

Wenn ich auf Build klicke meckert er mir immer an der Header-Datei
rum. Die dürfte doch normalerweise stimmen oder etwa nicht?

Genaue Fehlermeldung:

.......... 16f628.h 2 : Duplicate chip definition
 (Multiple chip definitions detected (option -p<chip> and #include
<header.h>).The #include statement should be removed)

Wenn ich in der Header Datei die oben gennante Zeile auskommentiere
kommt eine Fehlermeldung, dass einige Konstanten in der Headerdatei zu
lang wären, was eigentlich auch nicht sein kann.

6F628.h 48 : Constant out of range
 (The constant is too large)
#pragma char PCON    @ 0x8E
6F628.h 48 : Constant out of range
#pragma char EECON1  @ 0x9C
#pragma char EECON2  @ 0x9D
                          ^------
Naja es gibt ja noch mehr C-Compiler für MPLAP also habe ich die
Testversion von IAR installiert! Wenn ich jetzt ein Build mache kommt
erst ein Fenster mit folgendem Inhalt:

The environment variable QPICINFO must be set to the EWPIC config
directory, ending with a"\'.

und nachdem OK geklickt wurde.

Clean: Deleting intermediary and output files.
Clean: Done.
Executing: "C:\Programme\IAR
Systems\ew23\picmicro\bin\iccpic.exe" -D__PIC16F628__ "main.c"
-o"main.r39" -r -e -z9

   IAR PICmicro C Compiler V2.21C/W32
   Copyright 1998-2004 IAR Systems. All rights reserved.
   Time limited license: 29 days left

Fatal error[Pic005]: Target Error: No setup file for given derivative
Fatal error detected, aborting.
Halting build on first failure as requested.
BUILD FAILED: Wed May 10 16:18:53 2006

Kann mir einer sagen, wo ich die QPICINFO finde und was ich dort
einstellen muss?

Ich bin am Verzweifeln ich will doch nur dieses kleine dumme C-Programm
auf einen PIC brennen. Das kann doch nicht so schwer sein oder?

Vielen Dank für Eure Hilfe

Jupp

Autor: Rainer S. (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo Jupp!

Du hast Dir also den CC5x angeschaut. Gute Entscheidung.

Nun zu Deinem Problem. Soweit ich weiß, gibt es mehrere Möglichkeiten
dem Compiler zu sagen, für welchen PIC das Programm erzeugt werden
soll.

a) Über die Angabe eines #PRAGMA CHIP 16F628 am Anfang des
C-Programmes.
b) Über ein Argument beim Starten des Compilers (siehe SAMPLE2.C im
Verzeichnis des Compilers)
c) Über die richtige Auswahl des Chips in MPLAB unter Configure->Select
Device.

Was Du hierbei auch noch beachten musst, sind die zwei Varianten des
16F628 bzw. 16F628A. Möglicherweise kommt die Unstimmigkeit daher.

Gruß,
Rainer

P.S. Kannst Du vielleicht noch das Programm anhängen?

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.