Hallo stani,
falls du keine Werte zurückbekommen musst, kannst du ein MACRO und eine SUB verwenden. Siehe auch in der Hilfe. Mit Rückgabe wäre es eine Function.
Macro ist so ähnlich wie ein include. Die Befehlsfolge brauchst du in deinem Bascom Code nur einmal hinzuschreiben, beim Compilieren wird sie aber an jede Stelle eingefügt. Dein Bin-Code wird also nicht kleiner.
Bei einer Subroutine wird an der Stelle des Aufrufs unterbrochen und der Code der Sub ausgeführt. Wenn der beendet ist (Return) wird mit dem nächsten Befehl nach dem Aufruf fortgesetzt. Dazu muss sich das Programm die Rücksprungadresse merken. Es wird also etwas langsamer als die direkte Befehlsfolge. Dafür wird dein Bin-Code deutlich reduziert. Über Parameter kannst du auch Werte übergeben.
In deinem Fall würde ich dir die Sub empfehlen.
Waitms 0.6 geht übrigens nicht, da dort nur der Word-Wertebereich zugelassen ist. Was der Compiler daraus macht, kann ich dir nicht sagen. Entweder 0 oder 1. Willst du tatsächlich 600µs warten, dann schreibe
Waitus 600.
Lesezeichen