- MultiPlus Wechselrichter Insel und Nulleinspeisung Conrad         
Ergebnis 1 bis 6 von 6

Thema: Basic Programmierung

Hybrid-Darstellung

Vorheriger Beitrag Vorheriger Beitrag   Nächster Beitrag Nächster Beitrag
  1. #1
    Erfahrener Benutzer Roboter-Spezialist Avatar von -schumi-
    Registriert seit
    30.12.2009
    Ort
    Wasserburg am Inn / Bayern
    Alter
    31
    Beiträge
    449
    Herzlich willkommen im Forum

    Paar Einrückungen können nicht schaden:
    Code:
    ' WLAN RS232 Device Server
    ' (c) Avisaro AG 18.03.2010
    ' Version 1.16
    
    
    Setleds 32 + 128
    
    
    Exec "stpseq +\097+v+i+s+"
    sleep 100
    Exec "prompt"
    sleep 100
    Exec "sched 0"
    sleep 100
    
    
    Let N = 0
    Rem Default-Werte ?
    If((keys & 1) = 1) Then
        For N = 0 To 100
            If((keys & 1) = 0) Then
                Goto Starting
            End If
            Setleds 255
            sleep 10
            Setleds 0 + 128
            sleep 10
        Next N
        Exec "restart clear"
        sleep 100
        Setleds 255
        Do
            sleep 1
        Loop
    End If
    
    
    Starting:
        sleep 400
        Dim A(500)
        Dim B(0)
        Let N = 0
        Let T = Time
        Let F = 60
        Let M = 0
        Let U = 0
        Let Y = 0
    
    
        Rem INIT WEB
    
    
        Let X$ = "Connect to (IP, =0 for listen):"
        Put -100 , X$ , Len(x$)
        Let X$ = "Connect to / Listen (Port):"
        Put -102 , X$ , Len(x$)
        Let X$ = "Status (WR1 V14):"
        Put -104 , X$ , Len(x$)
    
    
        Load 0 , T$
        Put -101 , T$ , Len(t$)
    
    
    
    
        Load 25 , U
        If( -1 = U) Then
            Let U = 23
            Save 25 , U
        End If
        Let X$ = Str$(u)
        Put -103 , X$ , Len(x$)
    
    
    
    
    Try_connect:
    
    
        sleep 5
    
    
        ' RS232 leer lesen
        Inmode -3
        Input A
    
    
    
    
        If(t$ = Str$(0)) Then
            Let X$ = "listening"
        Else
            Let X$ = "try to connect"
        End If
    
    
        Gosub Load_web
    
    
        Let Y = Status(101)
    
    
        If(y = 0) Then
            If(t$ = Str$(0)) Then
                ' listen 101, u, 0
                Listen 101 , U , 20
                Setleds 32 + 128
            Else
                Let Y = Resolv(t$)
                sleep 500
                ' connect 101, y, u, 0
                Connect 101 , Y , U , 20
                Setleds 32 + 128
            End If
        End If
    
    
        Let Y = Status(101)
    
    
    
    
        If Y = 9 Then
            Let X$ = "Connected (Web locked)"
            Inmode 0
            Gosub Load_web
            Rem Connected
            Exec "stream 101"
            Goto Main
        End If
    
    
    
    
        Goto Try_connect
    
    
    
    
    
    
    Main:
    
    
        Setleds 48 + 128
    
    
        If((keys & 1) = 1) Then
            Close 101
            Setleds 32
            Gosub Load_web
            Goto Try_connect
        End If
    
    
        sleep 10
    
    
        Let Y = Status(101)
        If(y <> 9) Then
            Close 101
            Setleds 32
            Goto Try_connect
        End If
    
    
        Goto Main:
    
    
    
    
    Load_web:
    
    
        Put -105 , X$ , Len(x$)
    
    
        Rem ?nderung auf Webseite ?
        Get -103 , X$
        If Val(x$) <> U Then
            Let U = Val(x$)
            Save 25 , U
            Close 101
        End If
    
    
        Get -101 , X$
        If T$ <> X$ Then
            Let T$ = X$
            Save 0 , T$
            Close 101
        End If
    
    
    
    
        Return
    
    
    '+++
    'a+v+i+s
    
    Das erleichtert das Lesen sehr, so kann man schon sehr leicht Unterprogramme/Was alles zu IF gehört/Was alles in der For-Schleife ausgeführt wird usw erkennen.
    Genau erläutern kann ichs dir aber nicht, hab mich dazu zu wenig mit Bascom auseinander gesetzt (z.B. is mir schleierhaft warum er manchmal REM und dann wieder ' verwendet)

    Gruß

  2. #2
    Erfahrener Benutzer Roboter-Spezialist
    Registriert seit
    01.10.2009
    Beiträge
    437
    Zitat Zitat von -schumi- Beitrag anzeigen
    Paar Einrückungen können nicht schaden:
    Da kann er einrücken soviel er will, das wird deswegen immer noch kein Bascomcode.

    Besonders einfach hieran zu erkennen:
    Code:
    If((keys & 1) = 1) Then

  3. #3
    Super-Moderator Robotik Visionär Avatar von PicNick
    Registriert seit
    23.11.2004
    Ort
    Wien
    Beiträge
    6.842
    Wenn du das "Handbuch" liest, kannst du dir vielleicht zusammenreimen, was da da passiert und warum.

    http://www.avisaro.com/tl/dokumentation_wr1.html


    Soweit ich das im Groben verstehe, läuft der Code auch in der beschriebenen Folge ab.

    Sonst sind da leider ein paar "non-basic" Spezial-Befehle drin, die die Sache erschweren
    mfg robert
    Wer glaubt zu wissen, muß wissen, er glaubt.

  4. #4
    Erfahrener Benutzer Robotik Einstein
    Registriert seit
    08.01.2006
    Beiträge
    4.555
    Zitat Zitat von PicNick Beitrag anzeigen
    Wenn du das "Handbuch" liest, kannst du dir vielleicht zusammenreimen, was da da passiert und warum.

    http://www.avisaro.com/tl/dokumentation_wr1.html


    Soweit ich das im Groben verstehe, läuft der Code auch in der beschriebenen Folge ab.

    Sonst sind da leider ein paar "non-basic" Spezial-Befehle drin, die die Sache erschweren
    na ja, Basic ist nicht gleich Basic da gibt es viele Arten mit eigenem Wortschatz, Bascom ist der hier verwendete Code jedenfalls nicht. Wenn man herausbekommt was das für eine Basic Version ist, kann man sicher auch den Quellcode überseten. Das 8051 Basic hat ähnliche Ausdrücke...Laut Handbuch ist dort anscheinend auch kein AVR verbaut.

    Gruß Richard
    Geändert von Richard (02.11.2011 um 14:28 Uhr)

  5. #5
    Super-Moderator Robotik Visionär Avatar von PicNick
    Registriert seit
    23.11.2004
    Ort
    Wien
    Beiträge
    6.842
    Wette, dass das überhaupt kein "richtiger" Basic ist, sondern ein spezielles Script im Basic-Style für eben dieses WLAN-Modul.
    mfg robert
    Wer glaubt zu wissen, muß wissen, er glaubt.

Ähnliche Themen

  1. [ERLEDIGT] PIC12C509 Basic Programmierung ??
    Von Alirobb im Forum PIC Controller
    Antworten: 2
    Letzter Beitrag: 29.11.2005, 12:23
  2. problem bei programmierung crp5 in basic
    Von sidvicious im Forum Robby CCRP5
    Antworten: 0
    Letzter Beitrag: 18.09.2005, 22:09
  3. Visual Basic Programmierung...
    Von grind im Forum Software, Algorithmen und KI
    Antworten: 12
    Letzter Beitrag: 16.01.2005, 10:30
  4. Basic-Programmierung
    Von macropus1 im Forum Basic-Programmierung (Bascom-Compiler)
    Antworten: 1
    Letzter Beitrag: 11.09.2004, 23:41
  5. [ERLEDIGT] Basic programmierung
    Von fuuhsel im Forum Software, Algorithmen und KI
    Antworten: 3
    Letzter Beitrag: 16.08.2004, 09:34

Berechtigungen

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

fchao-Sinus-Wechselrichter AliExpress