- fchao-Sinus-Wechselrichter AliExpress         
Ergebnis 1 bis 4 von 4

Thema: Portzustand in Variable schreiben?

  1. #1
    Benutzer Stammmitglied Avatar von Tob
    Registriert seit
    11.01.2005
    Beiträge
    58

    Portzustand in Variable schreiben?

    Anzeige

    Powerstation Test
    Hallo zusammen,

    ich bastle gerade an einer Schaltung mit meinem Atmega 32 bei der ich ein Byte
    über einen I/O Port einlesen bzw. an eine Variable übergeben möchte um ihn mit einer
    IF-Bedingung zu verarbeiten.
    Allerdings weis ich nicht welche Befehle in Bascom dafür vorgesehen sind.

    Ich habs schon mit dem "INP" Befehl versucht aber der hat nicht funktioniert.
    (vllt hab ich die falsche Adresse angegeben oder ich hab in falsch vewendet!)

    Wäre net wenn ihr mit helfen könntet.

  2. #2
    Erfahrener Benutzer Roboter Experte
    Registriert seit
    28.10.2004
    Ort
    Baoding
    Alter
    44
    Beiträge
    689
    Mal was ganz einfaches

    Dim X as Byte
    x = PinB

    Damit sollte er die Pins von PortB in ne Variable X einlesen

    MfG RoFo88

  3. #3
    Erfahrener Benutzer Fleißiges Mitglied
    Registriert seit
    03.01.2007
    Ort
    Deutschland [Bayern]
    Alter
    41
    Beiträge
    125
    Ich nuze folgende Lauftechnik, um Tastenabfragen abzufragen. Im speziellen, ob sie >gedrückt wurde< oder >losgelassen wurde<. nicht ob sie >gedrückt IST< oder >nicht Gedrückt IST<
    Code:
    Xkeylast = Xkeyak                                           'Aktuelle Tastenzustände als letzte Tastenzustände setzen
    Xkeyak = 0                                                  'Aktuelle Tastenzustände auf 0 setzen (keine taste gedrückt)
    If Pind.6 = 0 Then Xkeyak = Xkeyak Or 2                     'Start-Taste prüfen
    If Pind.4 = 0 Then Xkeyak = Xkeyak Or 4                     'New Taste prüfen
    If Pind.5 = 0 Then Xkeyak = Xkeyak Or 8                     'Stop Taste prüfen
    
    For Xtb1 = 1 To 4                                           'Alle Tasten durchgehen
       If Keycheck(xkeylast , Xtb1) = 0 Then                    'Taste (XTB1) zuletzt NICHT gedrückt?
          If Keycheck(xkeyak , Xtb1) = 1 Then                   'Taste (XTB1) jetzt gedrückt?
    'Taste wurde gedrückt, jezt kann hier weiter gearbeitet werden
          End If
       End If
    Next
    
    '===============================================================================
    Function Keycheck(v_keydata As Byte , B_key As Byte) As Byte       'Funktion zur prüfen eines Tastenzustandes anhand einer Tasten-Zustandsmaske
    Xtb2 = 2 ^ B_key                                            'Tasten-Bitmaske berechnen
    Xtb2 = V_keydata And Xtb2                                   'Tasten-Bitmaste mit aktuellen zuständen verknüpfen
    If Xtb2 > 0 Then Keycheck = 1                               'Prüfen, ob Taste gedrückt ist
    End Function                                                'Funktion verlassen

  4. #4
    Benutzer Stammmitglied Avatar von Tob
    Registriert seit
    11.01.2005
    Beiträge
    58
    Danke Rofo für deine Hilfe, genau des hab ich gesucht^^

Berechtigungen

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

Labornetzteil AliExpress