Zitat Zitat von Wombatz Beitrag anzeigen
Nur leider ist es der Fehler nicht. Ich habe es mit Byte, Word, Integer, etc versucht... Immer das gleiche!
Wie sieht denn dein Code jetzt aus? Das hier kompiliert bei mir ohne Fehler
Code:
$regfile = "M8def.dat"
$crystal = 3686400

Dim A As Integer
Dim B As Integer
Dim D As Byte

Declare Sub Print_word(byval C As Byte)

Ddrc = &B00111111

Do
'Mache irgendwas

Call Print_word(d)

Loop

Sub Print_word(byval C As Byte)
'Mach etwas anderes
'und gib C an die Hauptschleife             !!!! das hier wird so nicht gehen !!!!!!!!
End Sub

Zitat Zitat von Wombatz Beitrag anzeigen
Vor allem verstehe ich nicht wie ich eine Variable von der Sub an die Do:Loop Schleife schicken kann???
Geht das überhaupt mit Sub oder brauche ich da die function?
Wenn du sauber programmieren und einen Wert zurückgeben willst, dann ist tatsächlich eine Funktion das Mittel der Wahl.
Du kannst dann genau einen Wert zurückgeben von dem Typ, wie die Funktion selber definiert ist.
Natürlich kannst du in der Sub oder Funktion auch alle globalen Variablen ändern. Dies ist aber im strengen Sinn nicht gewollt.