Das Open-Control-Projekt - Die Alternative zur C-Control-I


Das Forum zur C-Control-1
Welche C-Control-Varianten existieren?
Übersicht - Suchen - Neueste 50 Beiträge - Neuer Beitrag - Login - Registrieren
INFO - FAQ - CC2-Forum - CCPro-Forum 

 Re: Sonderzeichen in LCD / setzen von Ports Kategorie: C-Control I V1.2/2.0 (von Jürgen - 24.11.2007 11:43)
 Als Antwort auf Sonderzeichen in LCD / setzen von Ports von NicK - 22.11.2007 14:51
Jürgen nutzt:  CC1-Unit V1.1, CC1-M-Unit V1.1, CC1-M-Unit V1.2/2.0, Open-Mini
> Hallo Allerseits,
> ich habe mir vor einiger Zeit einen 'Programmhänger' eingehandelt, weil ich im LCD.PRINT ein '#' verwendet habe. Gibt es eine Übersicht, welche Zeichen man hier nicht verwenden kann/darf. Bzw. wie man diese quoten kann?
>
> Meine zweite Frage betrifft das Setzen (oder Löschen) von Ports.
>
> If aktZeit > einZeit and aktZeit < ausZeit then Portx = on
> (nur als Anschauungsbeispiel)
>
> wird ja unter Umständen mehrmals pro Sekunde durchlaufen.
> Das Bedeutet der Port wird immer wieder gesetzt.
>
> Dies könnte man umgehen
> If aktZeit > einZeit and aktZeit < ausZeit and Portx = 0 then Portx = on
>
> das Programm wird dadurch natürlich nicht kürzer :-)
> Sollte man jetzt besser Variante 1 oder 2 wählen?
> Grund der Frage: Ich bin in der Vergangenheit (länger als 10 Jahre her) mal auf eine Info gestossen, das bei irgend welchen Bausteinen beim ständigen setzen von Ports manchmal kurze Einbrüche entstehen.
>
> Danke und noch einen schönen Tag
>
> NicK

Hallo Nick
Dein erstes Beispiel könnte funktionieren gäbe es da nicht den Minutenwechsel.
Dein zweites Beispiel funktioniert auf keinen Fall, da der Port in einem Programmzyklus eingeschaltet
und im nächsten Programmzyklus wieder ausgeschaltet wird. Das geht so schnell das die die Ohren schmerzen, wenn du an diesen Port mal einen Piezo anschließt.

Ich gebe dir mal 2 Tipps:
1. Probiers mal aus, nur so lernt man es. Denn Therorie und Praxis ist nicht immer das Selbe.
Ein Prozessor denkt immer logischer als der Programmierer - weil er nicht alle fakten kennt.

1. Ein struckturiertes Programm zu Deinem Beispiel sieht so aus.

While true
IF HOUR=18 AND MINUTE=50 THEN GOSUB RELAIS_EIN
IF HOUR=19 AND MINUTE=00 THEN GOSUB RELAIS_AUS
WEND
END                                                       'ENDE HAUPTPROGRAMM
'
#RELAIS_EIN                                  'SUBROUTINE - RELAIS EINSCHALTEN
IF RELAIS=ON THEN RETURN       'WENN RELAIS SCHON EIN-GESCHALTET, DANN RETURN
RELAIS=ON                                                'RELAIS EIN-SCHALTEN
RETURN
'
#RELAIS_AUS                                  'SUBROUTINE - RELAIS AUSSCHALTEN
IF RELAIS=OFF THEN RETURN      'WENN RELAIS SCHON AUS-GESCHALTET, DANN RETURN
RELAIS=OFF                                               'RELAIS AUS-SCHALTEN
RETURN

Gruß Jürgen

 Antwort schreiben

Bisherige Antworten:

Re: Sonderzeichen in LCD / setzen von Ports (von NicK - 25.11.2007 12:39)
    Re: Sonderzeichen in LCD / setzen von Ports (von Jürgen - 1.12.2007 20:03)