Forum: Mikrocontroller und Digitale Elektronik MSP430FG4618 BeispielCode dma_07_IAR.c funzt nicht


von Stefan M. (stefan_m)


Lesenswert?

Hi,

ich versuche gerade den DMA und DAC zum laufen zu bringen und habe mir 
dazu den Beispielcode von TI msp430xG46x_dma_07_IAR.c geladen.

Leider erhalte ich dazu eine Fehlermeldung mit der ich nix anfangen 
kann.

Für die Codezeile 58:
DMA0SA = (int)Sin_tab;                    // Source block address

erhalte ich die Fehlermeldung:
a value of type "int" cannot be assigned to an entity of type 
"__SFR_FARPTR"

gleiches für die Codezeile 59:
DMA0DA = DAC12_0DAT;                     // Destination single address

erhalte ich die Fehlermeldung:
a value of type "unsigned int" cannot be assigned to an entity of type 
"__SFR_FARPTR"


und die Zeilen 62 ubd 63:
DMA1SA = (int)Cos_tab;                    // Source block address
DMA1DA = DAC12_1DAT;                     // Destination single address

Fehlermedlung:
 a value of type "int" cannot be assigned to an entity of type 
"__SFR_FARPTR"

a value of type "unsigned int" cannot be assigned to an entity of type 
"__SFR_FARPTR"


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

Was die Meldungen auf deutsch heißen, weiß ich. Allerdings fehlt es mir 
an der Begründung. Kann mir da jemand einen Hinweis geben? Und bitte 
nicht nur: "Guck ins Datenblatt" ;)

(int)Sin_tab wurde am Anfang des Proggs als LookUpTable, ebenfalls als 
(int) deklariert.

Viele Grüße

Stefan.

von Rufus Τ. F. (rufus) Benutzerseite


Lesenswert?

Und Du verwendest auch den IAR-Compiler?

von Stefan M. (stefan_m)


Lesenswert?

Ach das IAR steht für einen Compiler? ^^

Ich benutze den CCE v3.1. Liegt das daran?

von Stefan M. (stefan_m)


Lesenswert?

Seufz Toll wenn es so einfache Fehler sind ;)

Mit der msp430xG46x_dma_07_CCE.c funktionierts. Und wie man da auch 
sieht, ist die Deklaration beim Pointer hier mit void realisiert.

Nun erhalte ich lediglich den Hinweis:

Line58:
-------
DMA0SA = (void (*)())Sin_tab;                    // Source block address

Warnings:
---------
nonstandard conversion between pointer to function and pointer to data

Erhalte aber an dem entsprechenden PIN meinen Sinus bzw. cosinus.

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.