Bedeutung?: Error: cannot load from …..

OP #5748655
Lesenswert?

Mittels Code Composer  Studio (CCS) beschäftige ich mich aktuell mit 
einem MSP430F5435. Z.Zt. geht es um die Spannungsmessung mittels ADC12.
Bisher hatte ich zumeist MSP430F16xx dazu erfolgreich verwendet.
Da offensichtlich die neuere Familie etwas anders tickt und ich auch das 
Programmierprogramm (mspgcc nach CCS) gewechselt habe, gibt es Probleme. 
(hier keine Spannungswertausgabe)
Meine Vorgehensweise zur Fehlersuche:
a) Haltepunkt in Zeile  33 (P7OUT |= BIT6;   // P7.6 = 0 LED AUS) 
gesetzt
b) mit F11 Programm in MSP430F5435 übertragen
c) mit F8 gestartet
Das Programm läuft bis zum Haltepunkt.
Wenn man jetzt mit dem Mauszeiger z.B über ADC12MEM4 geht, dann kommt:
Error: connot load  from non-primitive lacation.
Was bedeutet diese Fehlermeldung konkret und wie wäre die richtige 
Formulierung des Programms.
Evtl. muss auch noch etwas eingestellt werden??
Im angeführten Programm funktioniert nur die Darstellung der Kommazahl 
und der Version auf der Flüssigkristallanzeige.
Hoffentlich habe ich mich verständlich ausgedrückt.
Programm im Anhang
Angehängte Dateien:
#5748990
Lesenswert?

wolle g. schrieb:
> Error: connot load  from non-primitive lacation.

Anscheinend will er nur aus 'echtem' Speicher und nicht aus einem 
Register lesen.

> ADC12 ... keine Spannungswertausgabe

Der ADC hat 16 Eingänge und 16 Ausgänge, die sind aber komplett 
unabhängig.

Du hast korrekt das INCH-Feld gesetzt, aber die Doku sagt:
> 28.2.7.1 Single-Channel Single-Conversion Mode
>
> A single channel is sampled and converted once. The ADC result is written
> to the ADC12MEMx defined by the CSTARTADDx bits.

Und CSTARTADD ist 0, also landet der Wert in MEM0 (und MCTL0.INCH ist 
noch 0, also von A0 gelesen).
OP #5749464
Lesenswert?

Leider noch kein Erfolg .
Die Startadresse habe ich eingetragen bei ADC12CTL1.
Ich habe festgestellt, dass die Fehlermeldung aktuell bei

ADC12CTL0
ADC12CTL1
ADC12IE ?
ADC12MCTL4
ADC12MEM4
kommt.

Ich denke, dass nach über 10 Jahren bestimmt jemand mit diesen o.ä. µC 
die AD-Wandler zum Laufen gebracht hat und dass dafür ein 
Programmschnipsel existiert.
Im Anhang ein "neues" Programmteil für ADC12
Angehängte Dateien:
Persönliche Seite #5750304
Lesenswert?

Du wirst diese Register nicht mit dem Debugger ansehen können. Das ist 
die Quelle der Fehlermeldung, die hat nichts mit dem Programm selbst zu 
tun.


Programmbeispiele, wie man auf den verschiedenen MSP430-Varianten mit 
der jeweiligen Peripherie umgeht, gibt es von TI -- passend zur 
jeweiligen Familie.

Code, der für die Peripherie des 'F1611 vorgesehen ist, funktioniert 
nicht ohne größere Änderungen mit der Peripherie neuerer 
MSP430-Varianten, Du solltest ohne viel Erfahrung gar nicht erst 
versuchen, solchen Code zu portieren.

Sieh Dir http://www.ti.com/lit/sw/slac166x/slac166x.zip an, das sind die 
passenden Codebeispiele für Deinen 'F5435.

Darin enthalten sind acht Beispiele, die sich mit dem ADC beschäftigen:
1
msp430x54x_adc12_01.c                ADC12, Sample A0, Set P1.0 if A0 > 0.5*AVcc
2
msp430x54x_adc12_02.c                ADC12, Using the Internal Reference
3
msp430x54x_adc12_05.c                ADC12, Using an External Reference
4
msp430x54x_adc12_06.c                ADC12, Repeated Sequence of Conversions
5
msp430x54x_adc12_07.c                ADC12, Repeated Single Channel Conversions
6
msp430x54x_adc12_08.c                ADC12, Using A8 and A9 Ext Channels for Conversion
7
msp430x54x_adc12_09.c                ADC12, Sequence of Conversions (non-repeated)
8
msp430x54x_adc12_10.c                ADC12, Sample A10 Temp and Convert to oC and oF
OP #5752082
Lesenswert?

Vielen Dank. Erste Erfolge haben sich eingestellt.
Aus meiner jetzigen Sicht gibt es bei dem AD-Wandler in erster Näherung 
wenige Unterschiede zum MSP430F1611.
Jetzt läuft es bei mir bei zwar noch nicht als ADC12 ISR, aber ich kann 
mit dem MSP430F5435 Spannungen messen.
Wer will, kann sich mein Programmschnipsel ansehen.
Angehängte Dateien:

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