Hallo zusammen!
Eines vorweg, bin ein total Neueinsteiger was die Programmierung angeht!
Also falls es sich um ein simples Problem handelt bitte ein wenig
nachsichtig sein ;-)!
Es geht um folgendes, ich arbeite mit dem IAR Workbench und habe einen
bereits geschrieben Code erhalten den ich erweitere.
Dabei ist ein von Renesas für den R8C geschriebenes Header-File
enthalten in dem ja die Register definiert werden.
1 | //*****************************************************
|
2 | C0MCTL15 DEFINE 0x130F
|
3 |
|
4 | .
|
5 | .
|
6 | .
|
7 |
|
8 | __data13 __no_init volatile unsigned char C0MCTL15 @ 0x130F;
|
9 | #define c0mctl15 C0MCTL15
|
10 | //*****************************************************
|
Ich möchte nun mit diesem Register weiterarbeiten und habe folgendes
geschrieben.
1 | //*****************************************************
|
2 | union{
|
3 | struct{
|
4 | char newdata:1;
|
5 | char invaldata:1;
|
6 | char msglost:1;
|
7 | char remactive:1;
|
8 | char rsplock:1;
|
9 | char remote:1;
|
10 | char recreq:1;
|
11 | char dummy:1;
|
12 | } receive;
|
13 | struct{
|
14 | char sentdata:1;
|
15 | char trmactive:1;
|
16 | char dummy1:1;
|
17 | char remactive:1;
|
18 | char dummy2:1;
|
19 | char remote:1;
|
20 | char dummy3:1;
|
21 | char trmreq:1;
|
22 | } transmit;
|
23 | char byte;
|
24 | }can_mctl_def ;
|
25 |
|
26 | union can_mctl_def c0mctl15; <-- hierauf bezieht sich der Fehler
|
27 | //*****************************************************
|
Mir wird nun die Fehlermeldung ausgegeben:
Error[Pe147]: declaration is incompatible with "unsigned char volatile
__data13 C0MCTL0"
Error[Be022]: location address not allowed for initialized variables
(writable variables without the __no_init attribute)
Wie sollte es denn sonst heißen?
Danke schonmal für die Hilfe!