Hallo, man hat ein Program vom XC16x in Keil kompiliert. Ein Fehler tritt auf: 'ASC0_CON_FDE': undefined identifier. Man merkt, es gibt zwei ähnlichen Beschreibungen von diesem SFR: 1. In XC16X.h: sbit ASC0_CON_S0FDE = ASC0_CON^11; 2. In MAIN.H: #define ASC0_CON_FDE ((T_Reg16 *) 0xFFB0)->bit11; Für dieses Program wird das File XC16x.h verwendet. Die Frage ist, ist es zugelassen, diese Änderung vorzunehmen: "sbit ASC0_CON_S0FDE = ASC0_CON^11;" => "sbit ASC0_CON_FDE = ASC0_CON^11;"? Die Kompilierung ist nun fehlerfrei. Gibt's Probleme wenn man diese Systemdatei ändert? Cu Senmeis
Gast
#2149717
Hallo Senmeis. Also die Antowrt auf deine Frage ob man die XC16X.h ändern darf lautet eindeutig Jain. Du darfst mit deinen Dateien machen was du willst. Die Namen für die Register und deren Bits sind nur Hilfen für den Programmierer. Wie du das 11. Bit im Register mit der Adresse 0xFFB0 nennst ist dem Programm vollkommen egal. Schlauer wäre es aber eben die XC16X.h so zu lassen wie sie ist und im Code den benutzen Namen entsprechend zu ändern. Darüberhinaus warum kommt es zu dem Compilerfehler wenn es doch den benutzen Namen in der MAIN.h gibt? Wird die MAIN.h nicht eingebunden? Gruß, TManiac
Antwort schreiben
Bitte melde dich an, um einen Beitrag zu schreiben.