Zur Übersicht - INFO - Neueste 50 Beiträge - Neuer Beitrag - Suchen - Zum C-Control-I-Forum - Zum C-Control-II-Forum

Re: Probleme LED Ansteuerung Kategorie: Verschiedenes (von Hanns - 28.11.2009 22:10)
Als Antwort auf Probleme LED Ansteuerung von Jörg - 28.11.2009 20:15
Ich nutze:
CC-Pro 128 Application Board, Pro-Bot128
> Hi,
>
> ich steige gerade von CC2 nach CC-Pro 128 um. Ist schon ne ganze Weile her, daÃ? ich zum letzten Mal was gemacht habe...
> Jetzt bin ich gleich auf ein blödes Problem gestossen -> Einsteigerübung:
> SW1 schaltet LED1; SW2 schaltet LED2 -> ganz einfach zu programmieren.
>
> Also, wenn ich SW1 drücke gehen manchmal beide LEDs an. wenn ich SW2 drücke, geht nur die 2 an, aber glimmt un flacker nach...
> Wenn ich den Jumper für den Eingang SW2 trenne, leute die LED 2 nicht mit, wenn ich SW1 drücke...
> Alles etwas komisch...
> Wenn ich direkt an den Eingang, wo der Jumper sitzt, nur einen Draht dran halte,
> ohne das andere Ende zu vebinden, geht die LED2 auch flackernd an.
>
> Hat jemand ne Idee?
>
> Dim delval As Integer
> Dim schalter1 As Integer
> Dim schalter2 As Integer
> Sub main()
>     delval=2000
>     Port_DataDirBit(PORT_LED1,PORT_OUT)
>     Port_DataDirBit(PORT_LED2,PORT_OUT)
>     Port_DataDirBit(PORT_SW1,PORT_IN)
>     Port_DataDirBit(PORT_SW2,PORT_IN)
>     Port_WriteBit(PORT_LED1,PORT_OFF)
>     Port_WriteBit(PORT_LED2,PORT_OFF)
>     Do While True
>     schalter1=Port_ReadBit(PORT_SW1)
>     schalter2=Port_ReadBit(PORT_SW2)
>         If schalter1=0 Then
>                 Port_WriteBit(PORT_LED1,PORT_ON)
>                 Else
>                 Port_WriteBit(PORT_LED1,PORT_OFF)
>         End If
>         If schalter2=0 Then
>                 Port_WriteBit(PORT_LED2,PORT_ON)
>                 Else
>                 Port_WriteBit(PORT_LED2,PORT_OFF)
>         End If
>     End While
> End Sub

Du darfst nicht den "drück"zustand des Schalters benutzen!

Ziel ist es doch, da� jedesmla, wenn ein Schalter betätigt wird, der Zustand
der entspr. LED geändert wird:
( ich kann kein Basic)

LED_1 = AUS
Do wile true
   // schalter 1 lesen
   wenn schalter1 = 0
       // diese Drückphase abwarten
       while schlater1 = 0
       if LED1 = EIN then
           schalteSieaus
           merke Zustand
       else
          schaltesieEin
          merke ZUstadn
       endif
   endif
endif

oder so ähnlich
Hanns
     
   


    Antwort schreiben


Antworten: