Forum: Digitale Signalverarbeitung / DSP / Machine Learning Registerbeschreiben in Code Composer v4 auf TMS320F2808


von Thomas (Gast)


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

von Tim R. (Gast)


Lesenswert?

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

von Thomas (Gast)


Lesenswert?

Vielen vielen Dank!!!

von Michael (Gast)


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.

von Tach Auch (Gast)


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

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.