-         

+ Antworten
Seite 1 von 3 123 LetzteLetzte
Ergebnis 1 bis 10 von 30

Thema: Parameterübergabe

  1. #1
    Erfahrener Benutzer Roboter Genie
    Registriert seit
    16.06.2004
    Ort
    Bad Schussenried in Oberschwaben
    Alter
    27
    Beiträge
    1.461

    Parameterübergabe

    Anzeige

    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

  2. #2
    Erfahrener Benutzer Robotik Einstein
    Registriert seit
    01.03.2004
    Ort
    Bielefeld (JA, das gibt es!)
    Alter
    28
    Beiträge
    1.614
    Was issn ich hab die bei mir laufn lassen und es ging hast du A gedimmt?

    Martin
    Ich will Microsoft wirklich nicht zerstören. Das wird nur ein gänzlich unbeabsichtigter Nebeneffekt sein.
    Linus Torvalds, Entwickler von Linux

  3. #3
    Gast
    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

  4. #4
    Erfahrener Benutzer Robotik Einstein
    Registriert seit
    01.03.2004
    Ort
    Bielefeld (JA, das gibt es!)
    Alter
    28
    Beiträge
    1.614
    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
    Ich will Microsoft wirklich nicht zerstören. Das wird nur ein gänzlich unbeabsichtigter Nebeneffekt sein.
    Linus Torvalds, Entwickler von Linux

  5. #5
    Erfahrener Benutzer Roboter Genie
    Registriert seit
    16.06.2004
    Ort
    Bad Schussenried in Oberschwaben
    Alter
    27
    Beiträge
    1.461

    Das sind 300 Zeilen ungekürzt...
    http://www.tobias-schlegel.de
    "An AVR can solve (almost) every problem" - ts

  6. #6
    Erfahrener Benutzer Robotik Einstein
    Registriert seit
    01.03.2004
    Ort
    Bielefeld (JA, das gibt es!)
    Alter
    28
    Beiträge
    1.614
    iss egal machs als anhang ich werds mir mal ansehen
    Ich will Microsoft wirklich nicht zerstören. Das wird nur ein gänzlich unbeabsichtigter Nebeneffekt sein.
    Linus Torvalds, Entwickler von Linux

  7. #7
    Administrator Robotik Einstein Avatar von Frank
    Registriert seit
    30.10.2003
    Beiträge
    4.955
    Blog-Einträge
    1
    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.

  8. #8
    Erfahrener Benutzer Roboter Genie
    Registriert seit
    16.06.2004
    Ort
    Bad Schussenried in Oberschwaben
    Alter
    27
    Beiträge
    1.461
    ... 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

  9. #9
    Gast
    Poste ganze Funktion dann kann man es mal testen. Im Grunde geht eigentlich fast alles in Bascom, man muss nur raus bekommen wie

  10. #10
    Erfahrener Benutzer Roboter Genie
    Registriert seit
    16.06.2004
    Ort
    Bad Schussenried in Oberschwaben
    Alter
    27
    Beiträge
    1.461
    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...

    lcdlowline = str(number) + str(Countt)
    A = lcdprint()
    Ist eine Anweisung, einen Text über den I²C zum LCD zu schicken.

    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

+ Antworten
Seite 1 von 3 123 LetzteLetzte

Berechtigungen

  • Neue Themen erstellen: Ja
  • Themen beantworten: Ja
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •