Gast
#880974
Guten Tag, für die Steuerung einer stromgesteuerten Bremse benötige ich eine Temperaturüberwachung. Zu Beginn der Endlosschleife lese ich den Wert des NTC aus, der am PortA.1 des AD-Wandlers (Atmega16) hängt. Solange der Wert unter 85°C ist (entspricht temp > 164) soll das Porgramm ausgeführt werden, steigt die Temperatur über 85°C, soll die Steuerung nichts tun und eine rote LED (PORTD.4) solange leuchten, wie die Temperatur die 85°C noch überschreitet. Mein Problem ist nun, dass die LED zwar angeht, bei Abkühlung allerdings nicht wieder aus - habe das ganze auch schon mit einer eleganteren while-Schleife versucht, da ging sie erst gar nicht an! Wie lässt sich das in den Griff bekommen? Gibt es auch eine Funktion in C bei der der Controller nichts macht? Ich programmiere mit Code Vision AVR. Vielen Dank while (1) { read_adc(1); temp85 = ADCW; if(temp85 > 164) // Temperatur unter 85°C { ........; } else { PORTD.4 = 1; // LED leuchtet }; }