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.
... 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.
Bitte mach mir einen Lösungsvorschlag.........oder wo kann ich soetwas nachschlagen?
Hab einen kleinen Fehler geschrieben. Programmiere nicht in C++ sondern in Basic++ sorry
Sonst solltest du mal die üblichen Suchmaschinen befragen. Mein Ergebnis: über 10 Seiten bei Google, als ich dort "Basic++" eingegeben habe...
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
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...
Habe beide Varianten probiert. Bekomme als Ausgabe immer den Wert 255. Schön langsam glaube ich, daß mein Controller eine Macke hat............
> 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. ...
@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...
Ach du Schreck... Sorry... Ich werde mich nicht weiter dazu äußern, es könnte als Beleidigung empfunden werden... 8-( ...
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.