Forum: Mikrocontroller und Digitale Elektronik Funktion _at() - XE164 (XE164f) / XE166 - FOC Motor Drive Applikation Kit


von hans (Gast)


Lesenswert?

Hallo alle miteinander,

ich verstehe die Funktion _at() nicht oder bin mir ihrer Aufgabe nicht 
ganz bewusst.
_at() ist ein Funktion vom Typ ADC_Poti nähme ich an.
Ich kenne auch aus C++ sich nicht einmal diese Art von Syntax "unsigned 
int ADC_Poti _at (0xC202);" und auch nicht "#define _at(address)".

MAIN.C
unsigned   int ADC_VDC _at (0xC200);
unsigned  int ADC_Poti _at (0xC202);


c166.h
/* Remove variable attributes */
#define _atbit(bitw,offset)
#define _at(address)


Verwendetes Board: XE164 (XE164f) / XE166 - FOC Motor Drive Applikation 
Kit

---------- Erklärung die nichts 
erklärt!---------------------------------

KNOWN PR34020: variables defined with _at() do not show declaration when 
hovered Component: EDE

DESCRIPTION:
When a variable is defined with _at(address) the declaration is not 
shown when it is hovered in the EDE editor.

EXAMPLE:
int thisoneworks;
int thisonenot _at(0x1000);

void foo( void )
{
  // try hovering these variables
  thisoneworks = 1;
  thisonenot = 2;
}

WORKAROUND:
None.

------------------------------------------------------------------------ 
---

von Carsten (Gast)


Lesenswert?

Wenn mich nicht alles täuscht wird damit nur der Speicherplatz definiert 
und nicht der "willkür" des Linkers überlassen.

von Mem (Gast)


Lesenswert?

Carsten schrieb:
> der Speicherplatz definiert

Ja, genau, die Variable wird ab der Adresse in den Speicher gelegt.

von hans (Gast)


Lesenswert?

Jawohl, danke!

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.