Was issn ich hab die bei mir laufn lassen und es ging hast du A gedimmt?
Martin
HI
Wie kann ich in Bascom an eine Funktion 2 Byte Parameter übergeben?
So funzt's nicht...
Declare Function Funktion(byval byte1 as Byte, byval byte2 as Byte) as Byte
'...
A = Funktion(1, 2)
'...
End
Function Funktion(byte1 as Byte, byte2 as Byte)
'...
End Function
Was ist da falsch?
Kann ich nur einen Parameter vom gleichen Typ übergeben?
Wenn ich das so mache, ist bei mir byte2 immer 0.
Danke schonmal!
Tobi
http://www.tobias-schlegel.de
"An AVR can solve (almost) every problem" - ts
Was issn ich hab die bei mir laufn lassen und es ging hast du A gedimmt?
Martin
Linus Torvalds, Entwickler von LinuxIch will Microsoft wirklich nicht zerstören. Das wird nur ein gänzlich unbeabsichtigter Nebeneffekt sein.
Hi!
Ja, a ist als Byte gedimt.
Es gibt auch keine Fehler oder so, aber byte2 ist immer 0.
Ich habe inzwischen bei den Beispielen gekuckt, und da haben die das mit einem Sub gemacht. aber ich muss jetzt statt den zweiten Parameter einfach als Zahl zu schreiben, ihn in einer extra variable speichern;
sonst geht's auch nicht.
*ARGH*
Danke, vor allem für's testen!!
Tobi
1. poste mal bitte deinen ganzen quellcode
2. kannste auch nen word dimmen das hat 2 bytes und du kannst da die beiden bytes wieder rauslesen mit high und low.
Martin
Linus Torvalds, Entwickler von LinuxIch will Microsoft wirklich nicht zerstören. Das wird nur ein gänzlich unbeabsichtigter Nebeneffekt sein.
Das sind 300 Zeilen ungekürzt...
http://www.tobias-schlegel.de
"An AVR can solve (almost) every problem" - ts
iss egal machs als anhang ich werds mir mal ansehen
Linus Torvalds, Entwickler von LinuxIch will Microsoft wirklich nicht zerstören. Das wird nur ein gänzlich unbeabsichtigter Nebeneffekt sein.
Erhöhe mal die Werte für Soft - und Hardware Stack und Frame unter Optionen. Die voreingestellten Werte sind so niedrig, das es oft nicht mit den Parametern klappt.
... Scheint ja ein mittelgroßes Problem zu sein ...
Ich habe das jetzt soweit hingekriegt, dass es mir halbwegs gefällt.
Danke an alle beteiligten.
Ich glaube Bascom hat noch ein paar Tücken.
Wieso funktioniert das mit der simplen Funktion nicht??
Viele liebe Grüße und DANKE nochmal!
Tobi
http://www.tobias-schlegel.de
"An AVR can solve (almost) every problem" - ts
Poste ganze Funktion dann kann man es mal testen. Im Grunde geht eigentlich fast alles in Bascom, man muss nur raus bekommen wie
Hi,
Ja, das ist in Bascom das Problem. Es geht eigentlich, aber bis man weis wie ist man vor Wut schon fast geplatzt.
'+++++++++++++++++++++++++++++++++++++++++++++++++ ++++++++++++++++++++++++++++
'| _MEECH_ HAUPRPROGRAMM |
'| Copyright: Tobias Schlegel |
'| Version 0.5 |
'| |
'| www.drschlegel.de/tobias |
'| Compiled for ATMEGA16, 16Mhz (ext.)Crystal |
'+++++++++++++++++++++++++++++++++++++++++++++++++ ++++++++++++++++++++++++++++
'===CONFIGURATIONS===
$regfile = "m16def.dat"
$baud = 9600
$crystal = 16000000
$lib "i2c.lib"
Declare Sub S_servo(byval Number As Byte , Countt As Byte)
Dim A As Byte
Dim B As Byte
B = 80
Call S_servo(1 , B)
End
Sub S_servo(byval Number As Byte , Byval Countt As Byte)
lcdlowline = str(number) + str(Countt)
A = lcdprint()
End Sub
'Andere Funktionen
Das ist die stark gekürzte Version. Sonst würde das ganze etwas umübersichtlich...
Ist eine Anweisung, einen Text über den I²C zum LCD zu schicken.lcdlowline = str(number) + str(Countt)
A = lcdprint()
Wenn ich dtatt dem B im Funktionsaufruf einfach 80 eintrage, kommt der Fehler "byval should be defined" oder so ähnlich.
Ich fahre jetzt nur leider Nach Sinsheim ins Museum; Familienausflug, da kann man sich schlecht drum drücken...
Danke, schonmal,
Tobi
http://www.tobias-schlegel.de
"An AVR can solve (almost) every problem" - ts
Lesezeichen