-         

Ergebnis 1 bis 8 von 8

Thema: Bascom Befehle

  1. #1
    Erfahrener Benutzer Roboter-Spezialist
    Registriert seit
    14.01.2007
    Beiträge
    209

    Bascom Befehle

    Anzeige

    SMARTPHONES & TABLETS-bis zu 77% RABATT-Kostenlose Lieferung-Aktuell | Cool | Unentbehrlich
    Hey,
    wer hat soviel Ahnung vom Bascom dass er mir hier weiterhelfen kann?
    Es gibt ja die Standart Schleife "do...loop". Ich möchte aber verschachtelte Schleifen bauen, die (z.B.) so arbeiten sollen: Solange Variable grösser als 1 ist, mache das und das.
    Ich habs mit "while" probiert also zum Beispiel:
    Code:
    Dim Eins As Long 
    while Eins > 1
    das Problem: wie schließe ich diese Schleife jetzt wieder?

    Im Vorraus schonmal Dankeeee!

    MfG Killer

  2. #2
    Hallo !

    mit "wend"

    Code:
    A = 1 
    While A < 10 
    Print A 'print var
    Incr A
    Wend
    (aus der Bascom Hilfe)
    Zu finden auf der Bascom Homepage als BascomAVR Handbuch (pdf, 15,5MB)

    mfg
    Tippo

  3. #3
    Erfahrener Benutzer Roboter-Spezialist
    Registriert seit
    14.01.2007
    Beiträge
    209
    Danke soweit! Und wie sieht es mit Funktionen aus? Wie baue ich sie auf und kann ich mit "goto" auf sie "springen"???

    MfG Killer

  4. #4
    Hallo !
    Schau dir mal hier http://www.roboternetz.de/wissen/index.php/RN-Control das Beispielprogramm durch und stöbere ein bissche in den diversen Beispielcodes.
    Ich bin sicher du findest schnell deine Antworten

    mfG
    Tippo

  5. #5
    Erfahrener Benutzer Roboter-Spezialist
    Registriert seit
    14.01.2007
    Beiträge
    209
    Das sieht doch gut aus
    Vielen Dank!!!!

    MfG Killer

  6. #6
    Erfahrener Benutzer Roboter-Spezialist
    Registriert seit
    14.01.2007
    Beiträge
    209
    Okay aber was mir da nicht raus hervorgeht, wie man eine Funktion aufrufen kann... wer kann mir helfen???

    MfG Killer

  7. #7
    Mit "Call".

    Funktion definieren:
    Code:
    Sub Batteriespannung() 
    Local W As Word 
       Start Adc 
       W = Getadc(6) 
       Volt = W * Ref 
       Volt = Volt * 5.2941 
       Print "Die aktuelle Spannung beträgt: " ; Volt ; " Volt" 
    
    End Sub
    Funktion aufrufen:
    Code:
    Call Batteriespannung    'Taste 1 Zeigt Bateriespannung über RS232 an
    Steht alles im Beispielprogramm

    mfG
    Tippo

  8. #8
    Erfahrener Benutzer Robotik Einstein
    Registriert seit
    22.05.2005
    Ort
    12°29´ O, 48°38´ N
    Alter
    48
    Beiträge
    2.731
    Holla,

    @tippo, das ist aber keine Funktion !

    Eine Funktion hat, zum Unterschied einer Sub, die Möglichkeit einen Wert zurückzuliefern. Diesen Wert muss man beim Aufruf an eine Variable zuweisen.

    Function schaut so aus:
    Code:
    ' als erstes muss die Function bekannt gemacht werden:
    Declare Function Batteriespannung() as Word
    
    ' Die Function selber
    Function Batteriespannung() as Word
    
       Start Adc
       ' Der Wert der zurückgegeben werden soll, 
       ' muss einer Variablen zugewiesen werden, die den Namen der Function hat:
       Batteriespannung = Getadc(6) 
    
    End Function
    Aufrufen:
    Code:
    Dim W as Word
    Dim Volt as Single
    Const Ref = 5 / 1023      'Für Batteriespannungsberechnung
    
    ' Aufrufen der Function und den Wert nach W
    W = Batteriespannung()
    
    Volt = W * Ref
    Volt = Volt * 5.2941
    Print "Die aktuelle Spannung beträgt: " ; Volt ; " Volt" 
    
    ...
    End
    Call ist nur um eine Sub aufzurufen, es kann kein Wert direkt zurückgegeben werden.

    Am besten in die Hilfe von Bascom schauen, da gibts zu allem ein Beispiel.

Berechtigungen

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