Registerbeschreiben in Code Composer v4 auf TMS320F2808

Gast #1637684
Lesenswert?

Hallo zusammen,

ich tüftle schon einige Zeit rum.
Ich möchte beispielsweise das GPIO Register des TMS320F2808 mit einem 
Wert beschreiben. (Im Code Composer v4)

Das Register GPASET beispielsweise liegt bei 0x6FC2, ist 32 Bit groß, 
und möchte ich mit dem Wert 0x0800 beschreiben.

Ich habs versucht mit

(*((unsigned long *) GPASET )) = 0x6FC2;
GPASET |= 0x0800;

aber das Funktioniert nicht, da sagt er dann bei Problems

1.  a value of type "int" cannot be used to initialize an entity of type 
"int *"
2.  expected a ")"
3.  expected an identifier

Würde mich über jede Hilfe sehr freuen!

grüße, tom
Gast #1637763
Lesenswert?

Ansonsten gehts in etwa so:

#define GPASET      *(volatile ioport unsigned long *)(0x6FC2);

GPASET = 0x1234;

Dieses Keyword ioport ist zumindest dem C55x-Compiler von TI bekannt. 
Möglicherweise sieht das bei Deinem Chip anders aus.
Gast #1647721
Lesenswert?

> Warum so kompliziert, einfacher:
> GpioDataRegs.GPBSET.bit.GPIO34 = 1;    // High
> GpioDataRegs.GPBCLEAR.bit.GPIO34 = 1;  // Low
> GpioDataRegs.GPBTOGGLE.bit.GPIO34 = 1; // Toggle

Das setzt aber voraus, dass man die "TI-Header-Files" verwendet.

Gruss

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren