MSP430: MSP430F2274 ADC10AE0 Compilerproblem

Gast #4709301
Lesenswert?
• ▲
▼
Hallo,

hat jemand eine Idee warum es bei mir beim MSPGCC Compiler bei z.B.

ADC10AE0 = 0x10

die Fehlermeldung

"lvalue required as left operand of assignment"  gibt?

Code wird für MSP430F2274 erzeugt.

Die passende Includedatei wird eingebunden und dort
steht

#define ADC10AE0_         0x004A    /* ADC10 Analog Enable 0 */
sfrb(ADC10AE0, ADC10AE0_);

Habe keine Idee was ich falsch machen könnte.

Danke für jeden sinnvollen Hinweis.
Gast #4709306
Lesenswert?
• ▲
▼
Die Lösung steht in der Definition des Makros sfrb.
Vermutlich steckt dort ein Cast in einen Zeiger.

Dann würde die Lösung für dein Problem lauten
1
*ADC10AE0 = 0x10


Die Ursache der Fehlermeldung ist, dass du versuchst einem 
unveränderlichen Ausdruck einen Wert zuzuweisen. Nur sogenannten lvalues 
kann man neue Werte zuweisen (daher Name lvalue - "linker Wert"). das 
kann z.B. eine Variable oder eine Speicheradresse sein, auf die gezeigt 
wird.
Gast #4709397
Lesenswert?
• ▲
▼
Hi,

na ja , ich bin schon so weit , dass ich eines der
TI ADC Examples (msp430x22x4_adc10_10.c) testhalber mit einbinde.

Also das

void Test(void)
{
    ADC10CTL1 = INCH_2 + CONSEQ_1; // A2/A1/A0, single sequence
    ADC10CTL0 = ADC10SHT_2 + MSC + ADC10ON + ADC10IE;
    ADC10DTC1 = 0x03;              // 3 conversions
    ADC10AE0 |= 0x07;              // P2.2,1,0 ADC10 option select
    P1DIR |= 0x01;                 // Set P1.0 output
}

Die Include Datei ist:

#include <msp430f2274.h> also aus

C:\MSP430GCC\msp430-toolchain-win-x86-3.0\msp430\include

Auch hier tritt der Fehler auf. Alles andere das die
Include Datei braucht funktioniert.
Gast #4709699
Lesenswert?
• ▲
▼
Clemens L. schrieb:
> Die aktuelle Version wäre 4.1:

Ich benutze das XPG Plugin für ECLIPSE (momentan NEON), das
wird nicht mehr weiter gepflegt.

Würde gerne die neuere Version von MSPGCC mal versuchen. Nun habe ich
das Problem, dass über das XPG plugin die neuere TI MSPGCC Version nicht
einbindbar ist. Was muss ich den bitte tun, damit das funktioniert ?

Danke
Gast #4709969
Lesenswert?
• ▲
▼
Das Problem mit ADC10AE0 hat sich aufgelöst.

Es war eine zweite include Anweisung vorhanden,
die nicht zum MSP430F2274 gepasst hat. War versteckt in einer
andern Include Datei und nicht auf den ersten Blick zu erkennen.

Nur falls es jemanden interessiert.

Antwort schreiben

Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt. Bitte hier nur auf die ursprüngliche Frage antworten, für neue Fragen einen neuen Beitrag erstellen.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.