Hallo, ich habe einen Code geschrieben, mit dem ich Spannung am AD Port messe, und den Wert an ein Display ausgibt. Jetzt möchte ich wenn ich einen taster drücke das man zwischen Volt und millivolt umschalten kann. Das umrechnen der bekoome ich hin nur nicht das hin und herschalten zwischen den werten.
Beschreib doch ein bisschen genauer die Funktionalität, die du gerne hättest. Soll z.B. die Umschaltung immer bei jedem Tastendruck erfolgen oder nur solange die Taste gerückt wird? Die Abfrage einer Taste kannst du per Interrupt oder per Polling in der main Schleife erledigen. Grüsse
Also den entprellten Taster habe ich per debounce eingefügt. Danke an kbuchegg. Ich hätte gerne das man wenn man den taster drückt er zwischen zwei meßbereichen umschaltet.
Dann musst du jetzt nur noch mit dem Taster ein Flag umschalten und dieses Flag in deiner Umrechenroutine entsprechend berücksichtigen und damit die Berechnung umschalten.
Ja, dann tu das doch ^^ Den restlichen Code hast du vermutlich wohl eher zusammenkopiert als selbst geschrieben... Anders kann ich mir nicht erklären, dass du an einer so einfachen Aufgabe nun scheiterst. Z.B. Ganz simpel:
1 | if(bereich==o) gibAus(wertInMillivolt) |
2 | else gibAus(wertInVolt) |
Die Variable bereich toggelst du eben bei Betätigung des Tasters. PS: nicht böse gemeint. Verstehe nur nicht, dass ADC und Display klappen sollen und es dann an so Grundlegendem scheitert...
Bernd schrieb: > Ich hätte gerne das man wenn man den taster drückt er zwischen zwei > meßbereichen umschaltet. Das Prinzip lautet "Teile und herrsche" Das eine hat mit dem anderen erst mal nichts zu tun. Deine neue Programmfunktionalität besteht aus 2 'Teilen'. * der Ausgabe * dem Taster Das mag jetzt banal klingen, ist aber der Schlüssel. Denn die Ausgabe stützt sich auf eine Variable, die angibt, wie die Ausgabe zu erfolgen hat: In Volt oder in Millivolt. Die Ausgabe befragt dazu nur diese Variable und sonst nichts anderes. Ist sie 0, dann ist die Ausgabe in Volt, ist sie 1 dann ist die Ausgabe in Millivolt. Ein guter Name für diese Variable wäre zb ShowAsMilliVolt. (Oder aber alles genau umgekehrt - deine Entscheidung wie du da machen möchtest). Und das andere ist die Eingabe, die bei einem Tastendruck die Variable von 0 auf 1 bzw. wieder zurück umstellt. PS: Besagte Variable ist zb ein guter Kandidat, um ein Autoranging zu implementieren, bei dem der Messwert selber die Variable ja nach Größe des Messwertes auf Volt oder Millivolt stellt. Oder aber besagte Variable ist zb ein guter Kandidat um im EEPROM gespeichert zu werden, so dass beim nächsten Einschalten des Gerätes der zuletzt eingestellte Anzeigebereich wieder hergestellt wird. Du siehst also, aus dem Einfachen "teile" folgen schon eine ganze Menge Möglichkeiten für "herrsche". D.h. sich zu überlegen in welche Teilaufgaben, die man möglichst voneinander entkoppelt, man eine Aufgabenstellung zerlegen kann ist oft eine sehr sehr gute Idee. Bei dir lautet die Aufgabenstellung "Mit einem Taster möchte ich den Anzeigebereich umschalten". Das zerfällt schon fast trivialerweise in die Bereiche Taster-Eingabe und Anzeige. Und das Bindeglied ist eine Variable, die die Darstellung in einen anderen Modus schaltet und die von einem Taster ihre Einstellung bekommt bzw. verändert wird.
von wegen reinkopiert! Habs aber hinbekommen hatte die sub programme in der schleife jetzt geht es Danke
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.