So, habe ein wenig rumprobiert und nun das ganze Programm umgeschrieben.
Funktioniert soweit gut, habe nur noch ein Problem. Die Übersicht wiederholt sich nicht. Die Anzeige bleibt also bei "Aussentmp...." hängen. Wie kann ich das ändern? Habe schon ein wenig rumprobiert aber wenn ich es in deine Do-Loop Schleife setze kann der Alarm nichtmehr auslösen.
Kann jemand helfen? Weiß grade echt nicht weiter, bin was Programmierung angeht echt noch Anfänger.
LG FabianCode:$regfile = "m8def.dat" $crystal = 4000000 Config Lcd = 16 * 2 Config Lcdpin = Pin , Db4 = Portd.0 , Db5 = Portd.1 , Db6 = Portd.2 , Db7 = Portd.3 , E = Portd.5 , Rs = Portd.4 Config Lcdbus = 4 Initlcd Cursor Off Config Portc.0 = Output 'Ausgang für Piezo Summer definiert Config Pinb.0 = Input 'Eingang für Öffnungsmelder definiert Sensor Alias Pinb.0 'Eingang für Resettaster definiert Portb.0 = 1 Config Pinb.1 = Input Taster Alias Pinb.1 Portb.1 = 1 Dim A As Byte 'Zählervariable "A" definiert ' A = 0 Do If Sensor = 0 Then 'IF-Abfrage Sensor: A = A + 1 'Zählervariable + 1 Else A = A + 0 End If If A > 0 Then 'Wenn A=1 oder höher ist Sound Portc.0 , 200 , 80 'Alarm geben Waitms 30 . Sound Portc.0 , 200 , 110 Waitms 30 Cls 'Und auf dem Display Warnmeldung anzeigen Locate 1 , 2 Lcd "***Achtung!***" Locate 2 , 1 Lcd "Tuer geoeffnet" Else Portc.0 = 0 End If If Taster = 0 Then 'IF-Abrfrage Reset: A = 0 'Variable "A" zurücksetzen Cls 'Und die Übersicht anzeigen Locate 1 , 1 Lcd "***Uebersicht***" Locate 2 , 1 Lcd "Tür: geschlossen" Wait 1 Cls Locate 1 , 1 Lcd "***Uebersicht***" Locate 2 , 1 Lcd "InnenTmp: 19,5C" Wait 1 Cls Locate 1 , 1 Lcd "***Uebersicht***" Locate 2 , 1 Lcd "AussenTmp: 4,5C" Wait 1 Else A = A End If Loop
Edit:
Ich merke gerade das der Alarm nur auslösen kann wenn die Anzeige bereits bei Aussentmp. hängt.






Zitieren

Lesezeichen