Hallo! ich brauche Hilfe bei einem Problem: Eine do/while-Schleife soll dann starten wenn ein bestimmter Spannungswert am A/D Wandler meines Atmel mega16 Microcontrollers ereicht ist. Wie müssen die Programmschritte aussehen, mit denen ich die Spannung meines Solarpanels (0 bis 2V) über den A/D - Wandler am Microcontrollerboard einlesen und weiterverarbeiten kann ? Danke Björn
Vielleicht bringt dir was in der Art: ADC im free running mode, ISR schreibt den ADC Wert in ne volatile Variable raus. Dann musst du im Hauptprogramm ja nur noch sowas wie while(ADC_WERT < 2Volt) {} machen. Also warten bis Bedingung erfüllt und danach dann die eigentliche Aufgabe. Bei beiden Versionen muss halt noch eine Endloschleife außen rum. while(true) { while(ADC_WERT < 2.0 Volt) {} //warten hier steht das, was du sonst so machen willst ADC_WERT=0; //sicherheitshalber }
> Muss ich nicht den AD erst initialisieren?? Wenn Du willst, dass der ADC was ausspuckt, dann wirst Du das wohl tun müssen. Wenn Du auch noch erzählst, mit was für einem µC und in welcher Programmiersprache Du arbeitest, dann kann Dir vielleicht sogar jemand dabei helfen. Wenn es ein AVR ist, dann schau bitte ins Tutorial auf dieser Seite. Da steht das alles schön verständlich beschrieben.
ich kenne dein problem, ich hatte dass selbe problem mit der AD Wandlung! www.ichkennmichaus.de! mlg
Ich habe ein Pollin-Board mit einem ATmega 16 drauf. Ich möchte mir eine Spannug ein lesen und in einer Do While schleife einbinden damit meine schleife aktiviert wird.
Die Antwort ist immer noch dieselbe: Schau ins AVR Tutoril, dort steht wie man mit dem ADC eine SPannung einliest. http://www.mikrocontroller.net/articles/AVR-GCC-Tutorial#Der_interne_ADC_im_AVR
> und in einer Do While schleife einbinden damit meine schleife aktiviert > wird. Du weißt hoffentlich, dass eine do...while-Schleife immer mindestens einmal durchlaufen wird, auch wenn die Schleifenbedingung nicht erfüllt ist? Das nur am Rande... Für den Fall, dass Du vielleicht doch eher ne while-Schleife meintest.
Wenn du nur einen Spannungspegel überwachen willst, dann nimm lieber den Analog-Comparator. Da brauchste keinen Code zum Überwachen, der ist schnell und meldet sich per Interrupt, falls gewünscht.
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.