Hallo an alle, ich hätte eine Frage an euch: Wie kann ich in bascom programmieren, dass er eine Spannung (liegt zwischen 3,3 und 3,5V) 64 mal pro sekunde mit dem AD-Wandler misst und danach einen Mittelwert bildet über diese 64 Werte und einmal pro sekunde ausgibt? Über Tipps wäre ich sehr dankbar! Peter
> ..., dass >er eine Spannung (liegt zwischen 3,3 und 3,5V) 64 mal pro sekunde mit >dem AD-Wandler misst äh. Wer denn? Der Compiler oder der Controller , oder Gott ? Gruß
ups, missverständlich ausgedrückt! Ich möchte die Werte gerne mit einem Mega8 einlesen; an einem seiner integrierten AD-Wandler. Wie würde das ungefähr gehen mit einem Timer? Ich finde nur schlecht was unter der Suche. Danke Peter
Ganz einfach: Du stellst den Timer so ein, dass er 64 mal pro Sekunde überläuft (Überläufe mitzählen lassen)... Falls dein Controller einen Overflow Interrupt hat (was ich schwer annehme), holst du dir in dieser ISR dann den AD-Wandler Wert... Dann musst du das ganze nur noch in z.B. ein Array schreiben und nach einer Sekunde (wenn dein Überlaufzähler auf 64 ist), den Mittelwert berechnen und das ganze rausbuttern... sollt eigentlich keine alzugrosse Geschichte sein..
Wenn Du nur den Mittelwert willst, dann brauchst Du gar kein array. Ungefaehrer code (ich habe kein Bascom), ungetestet: Initialisierung: dim counter as integer dim value as integer dim no_of_samples as integer no_of_samples = 64 counter = = value = 0 und in der Interrupt-Routine: value = value + readadc() counter = counter + 1 if counter = no_of_samples then value = value / no_of_samples sende value endif Wolfgang
Die Präzision der Aufgabenstellung suggeriert mir, dass hier Jemand für Dich die Hausaufgaben machen soll. Ich würde es so machen: - ADC im FreeRun-Mode frisch fromm fröhlich frei messen lassen - Timer so einstellen, dass 64 Interrupts pro Sekunde auftreten - im Timer-Interrupt ADC auslesen und auf Summe aufaddieren, per Zähler mitzählen, wann die 64 voll sind. Dann Summe durch 64 teilen, ausgeben und Summe und Zähler löschen. ~
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.