www.mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik Adresse zuweisen.


Autor: Marc (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

ich programmiere den MSP 430F1232.

Jetzt will ich Analogwerte einlesen, und dann mit dem DTC in eine 
Speicherstelle schreiben.

Dazu muss ich die Anfangsadresse definieren.

Diese muss ich in das Start Address Register for Data Transfer 
schreiben.

Wenn ich da eine konstante Speicherstelle reinlade klappt es.

z.b. ADC10SA = 0x0200

Es soll aber so sein, dass

ADC10SA = Adresse der Speicherstelle "Analogwert1"

Kann mir jemand helfen

Autor: ROFL (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
müssen wir die programmiersprache erraten, die du verwendest, oder sagst 
du sie uns noch?

Autor: Marc (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ich schreibe in C

Autor: Peter Dannegger (peda)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Marc wrote:

> Kann mir jemand helfen

Wenn man nur wüßte, wobei.

Compilierts nicht (Fehlermeldung)?

Ausführungsproblem?
Was solls machen, was passiert stattdessen?

Compilierbarer Code?


Peter

Autor: Klaus Wachtler (mfgkw)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
schon mal:
  ADC10SA = &Analogwert1;
probiert?

Autor: Marc (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

es kommt immer beim compilieren ein Fehler:

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

bei
ADC10SA = &Analogwert1;

kommt der obere Fehler

Autor: Klaus Wachtler (mfgkw)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Marc wrote:
> Hallo,
>
> es kommt immer beim compilieren ein Fehler:
>
> a value of type "volatile unsigned int *" cannot be assigned to an
> entity of type "unsigned int"
>
> bei
> ADC10SA = &Analogwert1;
>
> kommt der obere Fehler

Mein Gott, wie soll man jemandem helfen, wenn er seinen Quelltext nicht 
herzeigt?

Dann musst du halt entweder ADC10SA als volatile unsigned int * 
deklarieren (und nicht als unsigned int), oder einen cast schreiben:
    ADC10SA = (unsigned int)&Analogwert1;

(Es gibt übrigens viele Bücher, aus denen man Grundlagen von C erfährt.)

Autor: Rufus Τ. Firefly (rufus) (Moderator) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
> Dann musst du halt entweder ADC10SA als
> volatile unsigned int * deklarieren

Das scheidet aus, das ist in einer zum Build-System gehörenden 
Headerdatei definiert.

Ein Typecast ist hier das Mittel der Wahl.

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
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.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.