Hallo!
ich bin ziemlich neu in Bascom und dies ist auch mein erstes komplett selbst aufgebautes projekt mit einem µC, und anscheinend brauche ich hilfe:
die parameterübergabe bei call funktioniert irgendwie nicht, bzw gibt je nachdem wie ich den variablentyp wähle IMMER 0 (bei integer) oder IMMER 254 (bei byte... wie kommt man da auf so was "krummes" btw?)
ich filter mal kurz die wichtigen codezeilen raus, und häng auch nochmal den kompletten source an.
Das ganze passiert im ATmega16
also soweit ich das richtig gelesen habe und die helpfile mir das sagt muss das doch stimmen oder?Code:Const Pos0 = 200 Const Pos1 = 400 Const Pos2 = 600 Const Pos3 = 800 Const Pos4 = 1000 Const Pos5 = 1200 Dim Slt As Integer Declare Sub Pour(byval Slt As Integer) [...] Select Case Makedrink Case 0: Call Pour(pos0) Case 1: Call Pour(pos1) [...] Case 7: Call Pour(pos2) Call Pour(pos3) End Select [...] Sub Pour(byval Slt As Integer) Local I As Integer For I = 0 To Slt Toggle Clk1 Toggle Clk2 Waitms 7 Next I Return End Sub
Im Prinzip sind das ja die code-beispiele, bei denen ich die variablennamen und -typen geändert habe. Ich hatte mich aber gewundert warum in allen beispielen immer nur byte verwendet wird und hab es auch mal so versucht.
aber wie gesagt, selbst wenn ich den datentyp ändere und die auswahl der richtigen PosX innerhalb der sub mache passiert nichts, weil einfach anstatt 0 immer 254 angenommen wird.
und wenn mich das schon vor probleme stellt, stellt euch mal vor wie ich geflucht hab bis ich gemerkt hab, dass ich an den fusebits rumfummeln muss um portc zu verwenden! xD
achja, falls es so ein ähnlicvhes thema schon gab entschuldigt bitte, aber irgendwie hat die suchoption mehrmals gebuggt
Lesezeichen