MSP: universelle Messroutine

Gast #40082
Hi,

ich habe mir mal die Datei fet140_adc12_04.c zu Gemüte geführt, komme 
aber nicht mehr weiter. Ich möchte diese Routine so "umbauen", daß ich 
einen Parameter übergebe, mit welchem Port ich messen möchte und danach 
einfach den Messwert zurückbekomme.
Prozessor ist F149, C-Compiler MSPGCC.

Da ich mich gerade in C einarbeite dürften da noch einige Hunde begraben 
sein - wer hilft sie zu beseitigen?

Gruß, ALF
Angehängte Dateien:
Admin Persönliche Seite
Zeile 6: Da "Port" als Parameter übergeben wird, muss (darf?) die 
Variable hier nicht mehr deklariert werden.

Zeile 8: «P1SEL |= Port» ersetzen durch «P1SEL |= (1<<Port)»

Zeile 12: Diese Schleife wird bei eingeschalteter Optimierung (-O) vom 
Compiler wegoptimiert. Lösung: i als volatile deklarieren.

Zeile 16: Diese Endlosschleife und das «_NOP()» in Zeile 19 sind in 
fet140_adc12_04c.c nur zur Demonstration gedacht und machen in deinem 
Programm keinen Sinn.

Zeile 21: «P1SEL |= 0» ersetzen durch «P1SEL &= ~(1<<Port)»

Alle Angaben ohne Gewähr!

Antwort schreiben

Eine eigene Frage? Dieser Thread ist über 23 Jahre alt. Stell sie in einem eigenen Thread – dort lesen mehr Leute mit, und sie wird öfter und schneller beantwortet.

Neuen Thread starten

Eine Lösung, Ergänzung oder Rückmeldung zu diesem Thread? Dann antworte hier.

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.