Gast
#5726763
Hallo,
ich möchte die tatsächlich benutzten Peripheriemodule in einer
Headerdatei mit #defines angeben/festlegen.
Beim Xmega sind in der ioxxx.h Strukturen auf die Peripherieregister
definiert - Bspw.:
typedef struct USART_struct
{
register8_t DATA; /* Data Register */
register8_t STATUS; /* Status Register */
register8_t CTRLA; /* Control Register A */
....
} USART_t;
Normalerweise benutzt man dann im c-Quelltext:
USARTC0.CTRLA= xxx;
Wenn ich schreibe:
#define PC_IF_USART USARTC0
PC_IF_USART.CTRLA= 0;
Compiliert er fehlerfrei, jedoch gibt A.Studio beim eintippen keine
Unterstützung der Member (...CTRLA).
Schreibe ich dagegen:
#define PC_IF_USART ((USART_t *)(&USARTF0))
PC_IF_USART.CTRLA= 0;
Zeigt er mir beim Eintippen die Member an, jedoch meldet der Compiler:
"error: request for member 'CTRLA' in something not a structure or
union"
Wo ist mein Fehler?
Wie macht man das richtig?