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
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?
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.