www.mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik Problem mit AD-Eingang


Autor: Markus (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo. Bin was Microcontroller anbelangt noch ein Anfänger, und stehe
vor einem Problem.

Habe am AD-Eingang einen Spannungsteiler, der eine Spannung zwischen 2V
und 4V gegen GND annimmt. Diese möchte ich ausgeben. Habe dazu folgendes
Programm in C++ geschrieben:

DEFINE Sensor1 AD[1]

DO

FUNCTION ErmittleTemp (t as BYTE)

   PRINT "Fühler: " & t
   PAUSE 50
END FUNCTION
ErmittleTemp (Sensor1)

LOOP
END

Leider gibt er mir immer den Wert 255 aus. Was habe ich falsch gemacht?
Habe die Spannungen nachgemessen: Uref gegen GND = 5V; AD1 gegen GND =
2,9V

Benutzte die UNIT 2.0 von Conrad. Könnte es auch sein, das der
Microcontroller schon einen Schaden hat?

Für Hilfe wäre ich dankbar.

Autor: Rahul (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
... das ist nie im Leben C++...
Ich kenne mich nicht mit der C-Control aus, aber ich gehe davon aus,
dass es auch da nicht zulässig ist, eine Funktion in einer Schleife zu
deklarieren. Zumindest wäre das nicht besonders sinnvoll.

Autor: Markus (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Bitte mach mir einen Lösungsvorschlag.........oder wo kann ich soetwas
nachschlagen?

Autor: Rahul (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Im C-Control-Handbuch...

Autor: Markus (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hab einen kleinen Fehler geschrieben. Programmiere nicht in  C++ sondern
in Basic++

sorry

Autor: Rahul (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Selbst dafür wird Conrad irgendwo Dokumentation haben...

Autor: Rahul (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Sonst solltest du mal die üblichen Suchmaschinen befragen.
Mein Ergebnis: über 10 Seiten bei Google, als ich dort "Basic++"
eingegeben habe...

Autor: Sebastian Heyn (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
wenn dann so:
aber wo ist deine function ermittletemp? ist das der ganze code?

DEFINE Sensor1 AD[1]
FUNCTION ErmittleTemp (t as BYTE)

DO
   PRINT "Fühler: " & t
   PAUSE 50
END FUNCTION
ErmittleTemp (Sensor1)
LOOP
END

Autor: Rahul (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
des glaube ich net!

Eher so:
DEFINE Sensor1 AD[1]
FUNCTION ErmittleTemp (t as BYTE)

   PRINT "Fühler: " & t
   PAUSE 50
END FUNCTION

DO
   ErmittleTemp (Sensor1)
LOOP
END

erst die Funktion deklarieren, und dann benutzen...
Und vorher noch das Handbuch/Befehlsreferenz benutzen...

Autor: Markus (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Habe beide Varianten probiert.
Bekomme als Ausgabe immer den Wert 255. Schön langsam glaube ich, daß
mein Controller eine Macke hat............

Autor: Markus (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hat denn niemand mehr eine Idee, was noch falsch sein könnte?

Autor: Hannes Lux (hannes)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
> Schön langsam glaube ich, daß
> mein Controller eine Macke hat............

Das lässt sich schnell durch ein kleines Testprogramm in ASM klären.
Die dazu erforderlichen Infos findet man im Datenblatt des verwendeten
Controllers.

...

Autor: Rahul (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@Hannes: es ist C-Control, also keine ASM-kompatible Maschine, ohne den
Bootloader zu töten...
@Markus: Wenn du nicht endlich ins Handbuch guckst (da gibt es bestimmt
eine Anleitung zum Auslesen des ADC), komm ich vorbei und nehme dir die
C-Control weg...

Autor: Hannes Lux (hannes)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ach du Schreck...

Sorry...

Ich werde mich nicht weiter dazu äußern, es könnte als Beleidigung
empfunden werden...

8-(

...

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.