- Akku Tests und Balkonkraftwerk Speicher         
Ergebnis 1 bis 10 von 10

Thema: Fehler bei Parameterübergabe

  1. #1
    Erfahrener Benutzer Fleißiges Mitglied
    Registriert seit
    29.01.2006
    Beiträge
    101

    Fehler bei Parameterübergabe

    Anzeige

    Praxistest und DIY Projekte
    Hallo!


    Vor kurzem habe das OS 2.03 auf meine C-Control gespielt (von 2.02) und jetzt treten Probleme bei Funktionsaufrufen auf.
    Wenn ich mehr als einen Paramerter übergeben möchte, arbeitet die Unit nicht mehr richtig

    also FUNCTION a (x as byte)
    ....

    funktioniert noch aber bei

    FUNCTION b(x as byte, y as byte)
    ...

    klappt es nicht mehr.


    Ich bin dankbar für jede Hilfe!

    Gruß
    Jörn

  2. #2
    Erfahrener Benutzer Fleißiges Mitglied
    Registriert seit
    03.06.2004
    Ort
    Düsseldorf
    Alter
    40
    Beiträge
    158
    Trat der Fehler erst nach dem Update auf? Welche Compiler Version verwendest Du?
    http://www.tappertzhofen.eu/bpp2

    Basic++ Programmiersprache
    für den C-Control I Mikrocontroller

  3. #3
    Erfahrener Benutzer Fleißiges Mitglied
    Registriert seit
    29.01.2006
    Beiträge
    101
    Hallo!

    Ehrlich gesagt weiß ich nicht, ob der Fehler vorher schon aufgetreten ist, diese Unit verwende ich nur zum Experimentieren.

    Ich verwende BASIC++ 2.1.8
    bpp.exe 2.1.0.228

    Gruß
    Jörn

  4. #4
    Erfahrener Benutzer Fleißiges Mitglied
    Registriert seit
    03.06.2004
    Ort
    Düsseldorf
    Alter
    40
    Beiträge
    158
    Hmmm also ich habe mir der gleichen Version hier keine Probleme. Poste doch mal das Programm.
    http://www.tappertzhofen.eu/bpp2

    Basic++ Programmiersprache
    für den C-Control I Mikrocontroller

  5. #5
    Erfahrener Benutzer Fleißiges Mitglied
    Registriert seit
    29.01.2006
    Beiträge
    101
    Also die einfachsten Routinen funktionieren nicht:

    FUNCTION ADDBYTE(a as BYTE,b as BYTE)
    RETURN a+b
    END FUNCTION


    PRINT "ERGEBNIS:" & ADDBYTE(13,26)
    ;---------------------------------------------

    als Ergebnis stand im Terminalfenster

    RGEBNIS:13

    Im Terminalfenster kam das E auch nicht mit an, nur RGEBNIS:13

  6. #6
    Erfahrener Benutzer Fleißiges Mitglied
    Registriert seit
    03.06.2004
    Ort
    Düsseldorf
    Alter
    40
    Beiträge
    158
    FUNCTION ADDBYTE(a as BYTE,b as BYTE)
    RETURN a+b
    END FUNCTION

    lcd.init
    lcd.clear
    lcd.PRINT "ERGEBNIS:" & ADDBYTE(13,26)
    lcd.off

    Bei mir steht auf dem Display 39.
    http://www.tappertzhofen.eu/bpp2

    Basic++ Programmiersprache
    für den C-Control I Mikrocontroller

  7. #7
    Erfahrener Benutzer Fleißiges Mitglied
    Registriert seit
    29.01.2006
    Beiträge
    101
    Das klappt bei mir leider nicht

  8. #8
    Erfahrener Benutzer Fleißiges Mitglied
    Registriert seit
    03.06.2004
    Ort
    Düsseldorf
    Alter
    40
    Beiträge
    158
    Naja der Fehler muss irgendwo anders liegen. An der Parameterübergabe liegt es nicht.
    http://www.tappertzhofen.eu/bpp2

    Basic++ Programmiersprache
    für den C-Control I Mikrocontroller

  9. #9
    Erfahrener Benutzer Fleißiges Mitglied
    Registriert seit
    16.09.2004
    Ort
    Schwabenland
    Beiträge
    156
    Hi Jörn,
    es bringt wahrscheinlich nicht viel Dein Problem in alle möglichen Foren zu schreiben. Entweder ist Deine Unit wirklich kaputt (fast unwahrscheinlich) oder es stimmt irgendetwas anderes nicht.
    Probier doch mal dieses Programm aus. Was kommt dabei heraus?

    define i as byte

    FUNCTION ADDBYTE(a as BYTE,b as BYTE)
    RETURN a+b
    END FUNCTION


    for i= 1 to 5
    PRINT "ERGEBNIS:" & ADDBYTE(i,40)
    next

    Print 5+30 'Funktioniert eigentlich ne Addition

  10. #10
    Erfahrener Benutzer Fleißiges Mitglied
    Registriert seit
    29.01.2006
    Beiträge
    101
    Hallo!

    Vielen Dank für eure Antworten!

    Ich habe jetzt nun mal das Testprogramm von Dierk geladen und zwar mit BASIC++2006 2.1.8
    Resultat:

    ERGEBNIS:41
    ERGEBNIS:42
    ERGEBNIS:43
    ERGEBNIS:44
    ERGEBNIS:45
    35

    ->Ich war Überrascht, so wie es sein soll

    Es ist nun so, dass ich meine Projekte an einem anderen PC erstelle, als diesen und in die jeweiligen Controls lade...
    An den bin ich mit dem selben Code gegangen und habe das Projekt geladen
    Resultat:

    RGEBNIS:1
    ERGEBNIS:2
    ERGEBNIS:3
    ERGEBNIS:4
    ERGEBNIS:5
    35
    ->Der gewohnte Fehler

    Scheinbar sind die Compiler Versionen nicht auf dem gleichen Stand, das werde ich nun ändern.

    Ich danke euch allen für eure Hilfe und eure Gedult!!

Berechtigungen

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

LiFePO4 Speicher Test