- 12V Akku mit 280 Ah bauen         
Seite 3 von 3 ErsteErste 123
Ergebnis 21 bis 26 von 26

Thema: Port mit Tastendruck dauerhaft schalten

  1. #21
    Erfahrener Benutzer Roboter Genie
    Registriert seit
    11.04.2005
    Beiträge
    1.469
    Anzeige

    Praxistest und DIY Projekte
    Hi,
    noch ein etwas "unsauberer" Weg ohne zusätzliche Variablen:
    Code:
    Taste Alias Pina.0
    Led Alias Porta.1
    
    If Taste = 0 Then
      Toggle Led
    End If
    While Taste =0
    Wend
    Waitms 20
    So lange der Taster gedrückt gehalten wird, hängt der Mikrocontroller in der while wend schleife fest.
    Sobald losgelassen wird, kann direkt wieder umgeschaltet werden.
    Ein wenig Verzögerung nach dem Taste loslassen ist noch drin, zum entprellen.

    Das Ganze ist aber nicht gerade elegant, da man sich, wie gesagt, den µC während des Tastendrucks blockiert.

    Für mal eine LED zu schalten dürfte es aber gehen

  2. #22
    Erfahrener Benutzer Roboter Genie
    Registriert seit
    16.02.2006
    Beiträge
    1.113
    Mit einer zusätzlichen Variable geht's auch ohne blockieren:
    Code:
    Do
       If Taster = 0 And Schalt_freigabe = 0 Then
          Toggle Led
          Schalt_freigabe = 1
       Elseif Taster = 1 And Schalt_freigabe = 1 Then
          Schalt_freigabe = 0
       End If
       Waitms 20
    loop
    Gruß

    Rolf

  3. #23
    Benutzer Stammmitglied
    Registriert seit
    28.05.2009
    Beiträge
    55
    hey danke^^

    funzt jez

  4. #24
    Neuer Benutzer
    Registriert seit
    16.12.2011
    Ort
    A, A
    Beiträge
    1
    Hallo zusammen .
    Ich hatte jetzt genau diesen Teil gesucht aber beim testen bekomme ich einen Fehler angezeigt .Zuerst mein Code :

    $regfile = "m8def.dat"
    $framesize = 8
    $swstack = 8
    $hwstack = 8
    $crystal = 8000000

    $baud = 9600

    Config Portb.0 = Output
    Led Alias Portb.0
    Config Pinb.1 = Input
    Taster Alias Pinb.1
    Portb.1 = 1

    Do
    If Taster = 0 And Schalt_freigabe = 0 Then
    Toggle Led
    Schalt_freigabe = 1
    Elseif Taster = 1 And Schalt_freigabe = 1 Then
    Schalt_freigabe = 0
    End If
    Waitms 20

    Loop

    Invalid datatyp
    If Then expected
    If Then expected (16)
    End If expected

    Ich binn ein kompletter Neueinsteiger

    aber ich denke das mir hir geholfen werden kann mit Eurer Hilfe .

    Gruss Manuel

  5. #25
    Erfahrener Benutzer Fleißiges Mitglied
    Registriert seit
    12.01.2007
    Ort
    westliches Pannonien
    Beiträge
    123
    Hallo!

    Mach mal " Dim Schalt_freigabe As Byte " rein.

    MfG
    Rone

  6. #26
    Erfahrener Benutzer Roboter Experte
    Registriert seit
    15.01.2007
    Ort
    Göttingen
    Beiträge
    706
    Hallo Manuel,

    der Fehler ist, dass Du in der Hauptschleife mit der Variablen schalt_freigabe arbeitest, die Du vorher nirgendwo definiert hast. Das versteht Bascom nicht!

    Da sie offensichtlich nur die Werte 0 und 1 annehmen kann, würde hier ein Bit reichen. Wenn Du diese Zeile vor die Haupschleife stellst

    Dim schalt_freigabe as bit

    müsste zumindest das Kompilieren klappen

    Viel Erfolg,

    Daniel

    Edit: Oops - klassischer "Doppelpost"

Seite 3 von 3 ErsteErste 123

Berechtigungen

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

LiFePO4 Speicher Test