- fchao-Sinus-Wechselrichter AliExpress         
Ergebnis 1 bis 10 von 12

Thema: Wert in Variable einlesen ?

Baum-Darstellung

Vorheriger Beitrag Vorheriger Beitrag   Nächster Beitrag Nächster Beitrag
  1. #9
    Erfahrener Benutzer Roboter Experte
    Registriert seit
    18.05.2007
    Ort
    Berlin
    Alter
    54
    Beiträge
    765
    Die Variable telnr wird überlaufen.

    Wie geschieht denn die IR-Abfrage?

    Nimm, wie schon erwähnt, ein Array.
    Wenn die IR-Abfrage (Fernbedienungsroutine) per Interrupt z.B. die letzte Ziffer in der Variablen neueziffer ablegt, dann würde ich es so probieren (nicht getestet!):
    Code:
    $regfile = "m88Adef.dat"
    $baud = 19200
    $crystal = 8000000
    
    
    $hwstack = 160
    $swstack = 100
    $framesize = 100
    
    Dim Position As Byte
    Dim Stelefonnr As String * 15
    Dim Btelefonnr(15) As Byte At Stelefonnr Overlay
    Dim Neueziffer As Byte
    
    
    Gosub Telnrleeren
    
    Do
       Gosub Infrarot
       Gosub Zifferntest
    
    Loop
    End
    
    Zifferntest:
       Select Case Neueziffer                                   'Ziffer 0-9
          Case Is < 10
             Gosub Zifferhinzu
          Case 13                                               'Nummer fertig eingegeben also wählen
             Gosub Nummernwahl
          Case 12                                               'letzte Stelle löschen
             Gosub Zifferweg
          Case 11                                               'alle  Stellen löschen
             Gosub Telnrleeren
       End Select
    Return
    
    Infrarot:                                                   'Wenn nicht per Interrupt
    
    Return
    
    Telnrleeren:
       For Position = 1 To 15
          Btelefonnr(position) = 0                              'Nullbyte signalisiert Ende eines Strings
       Next Position
       Neueziffer = 255
       Position = 0
    Return
    
    Zifferhinzu:
       If Position < 15 Then
          Incr Position
          Neueziffer = Neueziffer + 48                             'ASCii Codes für Zahlen
          Btelefonnr(position) = Neueziffer
       End If
    Return
    
    Zifferweg:
       If Position => 1 Then
          Decr Position
          Btelefonnr(position) = 0
       End If
    Return
    
    Nummernwahl:
       Print "Kommandozumnummerwählen";
       Print Stelefonnr
       Gosub Telnrleeren
    Return
    In der IR-Routine dann einfach die Ziffer direkt in die Variable neueziffer schreiben.
    Wurde OK gedrückt, dann die 13 reinschreiben.
    usw.
    Geändert von peterfido (12.05.2013 um 11:32 Uhr)
    Wenn das Herz involviert ist, steht die Logik außen vor! \/

Ähnliche Themen

  1. wert einer variable über ht an pc senden
    Von Mk1.12.91 im Forum Asuro
    Antworten: 7
    Letzter Beitrag: 04.06.2010, 20:36
  2. Variable - unerklärlicher Wert (Simulator)
    Von Bloodyben im Forum Basic-Programmierung (Bascom-Compiler)
    Antworten: 1
    Letzter Beitrag: 18.09.2008, 16:12
  3. Wert einer Variable zu Programm beginn?
    Von Brantiko im Forum Basic-Programmierung (Bascom-Compiler)
    Antworten: 4
    Letzter Beitrag: 29.02.2008, 16:49
  4. Variable enthält falschen Wert
    Von contrero im Forum C - Programmierung (GCC u.a.)
    Antworten: 2
    Letzter Beitrag: 14.09.2007, 08:15
  5. Wert einer Variable eingrenzen?
    Von TobiasBlome im Forum Basic-Programmierung (Bascom-Compiler)
    Antworten: 6
    Letzter Beitrag: 25.05.2007, 22:15

Stichworte

Berechtigungen

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

Solar Speicher und Akkus Tests