PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Bascom Befehle



Killer
21.03.2007, 18:30
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:


Dim Eins As Long
while Eins > 1

das Problem: wie schließe ich diese Schleife jetzt wieder?

Im Vorraus schonmal Dankeeee! ;-)

MfG Killer

tippo
21.03.2007, 19:00
Hallo !

mit "wend" :)



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

Killer
22.03.2007, 19:11
Danke soweit! Und wie sieht es mit Funktionen aus? Wie baue ich sie auf und kann ich mit "goto" auf sie "springen"???

MfG Killer

tippo
22.03.2007, 20:09
Hallo !
Schau dir mal hier https://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

Killer
22.03.2007, 20:17
Das sieht doch gut aus :-)
Vielen Dank!!!!

MfG Killer

Killer
24.03.2007, 16:07
Okay aber was mir da nicht raus hervorgeht, wie man eine Funktion aufrufen kann... wer kann mir helfen???

MfG Killer

tippo
24.03.2007, 16:16
Mit "Call".

Funktion definieren:

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:

Call Batteriespannung 'Taste 1 Zeigt Bateriespannung über RS232 an

Steht alles im Beispielprogramm ;)

mfG
Tippo

linux_80
24.03.2007, 17:55
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:

' 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:

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.