Hallo, ich versuche mich gerade an den ersten Schritten in C. Für meine Anwendung die ich vorhabe habe ich warscheinlich ein Verständnissproblem. Wie macht man er normalerweise wenn eine dauernd Temperatur geregelt werden soll es aber in einem anderen Programmabschnitt die benötigte Zeit länger ist weil z.b. eine Pause mit 3 Sekunden gemacht werden soll und die Temperatur trozdem geregelt werden soll z.b. im Sekundentakt ? Ich habe noch mehr solcher vielleicht merkwürdigen Fragen ich finde aber leider im Tutorial nicht die Lösung dazu. viele Grüße Mario
Du darfst halt in dem anderen Programmabschnitt nicht 3 Sekunden warten. Normalerweise macht man sowas über die Timer . Man startet im Programm in dem man 3 Sekunden warten will einen Timer. Falls der noch nicht abgelaufen ist verlässt man den Programmabschnitt und widmet sich in deinem Beispiel der Temperturregelung. Also nicht irgendwo warten sondern einen Timer starten und solange der läuft die anderen Prozesse bedienen. Gruss Helmi
ah ok. Dann setze ich an dem Punkt wo ich waren will den Timer auf 3sec. springe zur temp. Regelung und wieder zurück und lese den Timer solange aus bis er fertig ist ? Gruß Mario
hmm, wenn jetzt aber die Temperatur relativ genau jede Sekunde gemessen werden soll kann man dann auch mit dem Timer einen Interrupt auslösen für die Messung ? Gruß Mario
Letzteres ist in den meisten Fällen die bessere Lösung. In der Regel tun ja typische kleine µC-Anwendungen ständig das gleiche. Irgendwo muß ein Wert eingelesen werden, der wird bearbeitet, das ergibt dann irgendeine Ausgabe, und dann geht das ganze von vorne los. Wenn du dir jetzt überlegst, was jeweils der Auslöser für einen solchen Schleifendurchgang ist, kannst du die ganze Anwendung interruptgesteuert aufbauen. Ein Timer-Interrupt könnte deine Temperaturmessung auslösen, der Interrupt vom A/D-Wandler die Berechnung der Abweichung vom Sollwert und die Ausgabe der Regelgröße etc. Im Hauptprogramm könntest du dann langsame Dinge wie Benutzerschnittstelle oder irgendwelche "Aufräumarbeiten" vornehmen, oder aber den µC sogar schlafen legen. Das spart Strom und ein Interrupt weckt ihn wieder auf, wenn es etwas zu tun gibt.
super, habe einen Timerinterrupt zum laufen bekommen. Ich werde versuchen das meiste Interrupt gesteuert zum laufen zu bekommen. Danke für die Tipps Gruß Mario
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.