alle 8er - alle 14er - alle 18er - alle 20er - alle 28er - all40er

button

               Syntax:
                       button Pin
, downstate , delay, rate, bytevariable, targetstate, adresse

                - Pin ist eine Variable die den I/O Pin definiert

                - downstate ist eine Varibale ( 0 der 1 ) die angibt , welcher logischer Status gesetzt
                  werden soll , wenn der button gedrückt wurde.
                  Wenn der Status beim Drücken aktiv High (V+ ) sein soll , muß ein Pulldowm-Widerstand
                  von 10K gegen Masse angeschlossen werden
                  Wenn der Status beim Drücken aktiv low (GND) sein soll , muß ein Pullup-Widerstand
                  von 10K gegen V+ angeschlossen werden um ein 0V zu erreichen.

                - Delay ist eine Variable (1-254 , 0 oder 255 ) eines Zählers , die die Wiederholungen
                  an Wartezeit angibt, bevor eine Auto-Wiederholfunktion ausgeführt wird

                - Rate ist eine Variable die die auto-repeat rate festlegt

                - Bytevariable ist eine Variable die als Workspace für die auto-repeat Schleife dient.
                  Vor dem ersten Gebrauch muß diese auf 0 gesetzt werden.

                - targetstate ist eine Varibale ( 0 oder 1 ) , die angibt welchen Status
                  (0=nicht gedrückt , 1=gedrückt ) der Button annehmen soll bevor er die Adresse anspringt.

                - Adresse ist eine Sprungvariable die angesprungen wird , wenn der Status targetstate
                  erreicht ist
                  

               Information:
               
               Bei mechanischen Schaltern kann es beim Drücken zum flattern der Kontakte kommen.
               Damit die Funktion dadurch jetzt nicht ständig ausgeführt wird, enpfiehlt es sich eine
               kleine Wartezeit ( z.B. : Pause 10 ) einzubauen. ( Stichwort: Entprellen )
                 

 

 Beispiel  :

     init:
          b2=0                                            ; setzt b2 auf 0
                                                          ; resetet die Variable targetbyte
                                                          ; vor der Wiederholungs-Schleife

                                                          ; input c.0
                                                          ; active high
                                                          ; Sprungadresse 'pushed' wenn 1
        
          myLoop:
                  button c.0,1,200,100,b2,1,pushed
                                                          ; springt nach cont wenn c.0 = 1
                low b.7                                   ; deaktiviere Pin b.7
                pause 10                                  ; wartet 10 Millisekunden

          goto myLoop                                     ; springt zurück nach myLoop
 

          pushed:  
                high b.7                                  ; aktiviere Pin b.7
                sertxd ("PUSH")                           ; sendet "PUSH" Meldung
          goto myLoop                                     ; springe zurück nach myLoop

   
            

Manual2 zeigen