- Labornetzteil AliExpress         
Ergebnis 1 bis 8 von 8

Thema: toggle wenn länger wie

  1. #1
    Benutzer Stammmitglied
    Registriert seit
    05.05.2008
    Beiträge
    31

    toggle wenn länger wie

    Anzeige

    Praxistest und DIY Projekte
    hallo, ich würde gerne folgenden code so abändern das der ausgang nur schaltet wenn der eingang länger wie 50ms getastet wird.
    Ich als anfänger hab keine idee das problem zu lösen.

    Code:
    If Pina.0 = 0 Then                                          'wenn an pinb.0 eine 0 (GND) anliegt dann
    Waitms 200                                                  'warte kurz
    Toggle Portb.0
    danke im vorraus!

  2. #2
    Erfahrener Benutzer Roboter Experte
    Registriert seit
    14.08.2007
    Ort
    Delmenhorst
    Alter
    38
    Beiträge
    731
    Nach dem drücken des Tasters in eine Schleife gehen mit 1ms Pause und dann ne Variable hochzählen.
    Danach die Variable auswerten und je nach Wert schalten oder eben nicht.

    Und es heisst länger ALS!

  3. #3
    Benutzer Stammmitglied
    Registriert seit
    05.05.2008
    Beiträge
    31
    länger als!

    hört sich ja noch komplizierter an wie ich gedacht hab, hast du zufällig n beispielcode zur hand?*g

  4. #4
    Erfahrener Benutzer Roboter Experte
    Registriert seit
    14.08.2007
    Ort
    Delmenhorst
    Alter
    38
    Beiträge
    731
    Komplizierter ALS ich gedacht hab!

    Hab hier mal ein Beispiel gefunden http://www.mikrocontroller.net/attac...Timer-msec.bas

  5. #5
    Benutzer Stammmitglied
    Registriert seit
    05.05.2008
    Beiträge
    31
    ich glaub es wird noch komplizierter als du denkst, den daraus kann ich nichts einziffern was soll man damit anfangen da is keine zeile code drin*g

  6. #6
    Erfahrener Benutzer Begeisterter Techniker
    Registriert seit
    28.03.2008
    Ort
    Huntlosen
    Alter
    31
    Beiträge
    391
    mhhh nimm einfach ein timer, der im 50 ms sek takt zählt und darin eine if anweisung, das wenn der port auf high is, soll er in eine variable +1 speichern. naja und das solange, bis er 50 erreicht hat.
    Wenn allerdings nicht, dann soll er die variable auf 0 setzen.
    Alles kla, also das wäre mein vorschlag

  7. #7
    Erfahrener Benutzer Roboter Genie
    Registriert seit
    08.09.2007
    Ort
    Berlin
    Alter
    31
    Beiträge
    1.578
    Hallo voll-milch,

    probier mal das:
    Code:
    while pina.0 = 0
    waitms 1
    incr wait_taster
    wend
    if wait_taster >= 50 then 'länger als 50ms gedrückt
    'tue irgendwas
    else 'kürzer als 50ms gedrückt
    'tue was anderes
    endif
    wait_taster = 0
    Dabei musst du allerdings aufpassen, dass dir die Variable wait_taster nicht überläuft.

    Gruß
    Chris

  8. #8
    Benutzer Stammmitglied
    Registriert seit
    05.05.2008
    Beiträge
    31
    Vielen Dank Che Guevara funktioniert perfekt und hat mein problem gelöst

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •  

MultiPlus Wechselrichter Insel und Nulleinspeisung Conrad