Forum: Mikrocontroller und Digitale Elektronik Systemdateien fuer den XC16x


von Owen S. (senmeis)


Lesenswert?

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

von TManiac (Gast)


Lesenswert?

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

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.