- fchao-Sinus-Wechselrichter AliExpress         
Seite 1 von 2 12 LetzteLetzte
Ergebnis 1 bis 10 von 17

Thema: Error 221 Backward jump out of Range

  1. #1
    Neuer Benutzer Öfters hier
    Registriert seit
    15.05.2007
    Beiträge
    26

    Error 221 Backward jump out of Range

    Anzeige

    Powerstation Test
    Hallo,
    ich bekomme gerade ständig eine Fehlermeldung Namens

    Error 221 Backward jump out of Range [_FROUND 2059]], in File ....

    bedauerlicherweise habe ich bisher keine genauere Beschreibung dieses Fehlers gefunden und weiß nun leider nicht wo dieser liegt, geschweige denn wie ich ihn ausbessern könnte.
    Ich habe einmal den Hauptteil meines Programms beigefügt, ich schätze,dass es an diesen beiden If Abfragen am Anfang -die erst am Ende beendet werden hängt aber nach meinem verständnis müßten sie so OK sein.

    '---------------------------------------------------------------------------------------------------------------------------------------------------
    'Hauptprogramm
    '---------------------------------------------------------------------------------------------------------------------------------------------------

    '---------------------------SD Anfang---------------------------------------------

    $Include "Config_MMC.bas"

    If Gbdriveerror = 0 Then

    $Include "Config_AVR-DOS.BAS"

    Btemp1 = Initfilesystem(1)

    If Btemp1 <> 0 Then
    Lcd_string = "Error on Filesystem " : Lx1 = 1 : Ly1 = 50 : Fontsize = 1 : Lcd_fcolor = Schwarz : Lcd_bcolor = Weiss
    Gosub Lcd_print

    Else

    Open "Daten.txt" For Append As #10





    Do

    Voutxw = Getadc(0)
    Waitms 10


    Voutx = Voutxw / 1024

    Voutx = Voutx * Referenzspannung



    Voutxstr = Fusing(voutx , "#.####")


    Lcd_string = "Voutx " : Lx1 = 2 : Ly1 = 50 : Fontsize = 1 : Lcd_fcolor = Rot : Lcd_bcolor = Weiss
    Gosub Lcd_print
    Lcd_string = Voutxstr : Lx1 = 8 : Ly1 = 50 : Fontsize = 1 : Lcd_fcolor = Rot : Lcd_bcolor = Weiss
    Gosub Lcd_print


    Loop

    Close #10
    'Datei auf SD Karte schließen
    End If

    Else

    Lcd_string = "Driveerror " : Lx1 = 1 : Ly1 = 50 : Fontsize = 1 : Lcd_fcolor = Schwarz : Lcd_bcolor = Weiss
    Gosub Lcd_print


    End If

    End
    [fade:014a02acbd][/fade:014a02acbd]

  2. #2
    Super-Moderator Robotik Visionär Avatar von PicNick
    Registriert seit
    23.11.2004
    Ort
    Wien
    Beiträge
    6.842
    Ich glaub', da ist ein "else" zuviel, bzw. ein "if" zuwenig

    ---
    Close #10
    'Datei auf SD Karte schließen
    End If

    Else // zu dem seh ich kein "IF"
    ---
    Noch was: Ich seh keine Chance, aus dem DO..LOOP rauszukommen.

    Wie ist das gedacht ?
    mfg robert
    Wer glaubt zu wissen, muß wissen, er glaubt.

  3. #3
    Neuer Benutzer Öfters hier
    Registriert seit
    15.05.2007
    Beiträge
    26
    Das Else gehört zu dem allerersten If ganz ganz oben.
    Gut, das mit der Loop stimmt, daraus werde ich später noch eine while loop machen die eben bei einem Tastendruck endet und auch startet.
    Inzwischen weiß ich immerhin, dass es wohl am "Btemp1 = Initfilesystem(1) " liegen muß. Allerdings sah ich so etwas bereits in einigen anderen Programmen in denen SD Karten beschrieben wurden und denke auch, dass da doch auch nicht so viel schief gehen kann.. bzw was geht denn da schief.. wie gesagt dieser Fehler sagt mir einfach nichts.

  4. #4
    Super-Moderator Robotik Visionär Avatar von PicNick
    Registriert seit
    23.11.2004
    Ort
    Wien
    Beiträge
    6.842
    Ah ja, jetzt seh' ich's.
    Code:
    If Gbdriveerror = 0 Then 
    $Include "Config_AVR-DOS.BAS"
    1 Hau' dieses "IF" weg, es ist überflüssig, was soll an dieser Stelle sein ?
    2 Könnte auch der Grund sein, da wahrscheinlich erst in der "include" das Feld "Gbdriveerror" definiert wird
    mfg robert
    Wer glaubt zu wissen, muß wissen, er glaubt.

  5. #5
    Neuer Benutzer Öfters hier
    Registriert seit
    15.05.2007
    Beiträge
    26
    Nein das war es leider auch nicht, dieses Gbdriveerror wird bereits in der Config_MMC.bas definiert.
    Bei der Auskommentierung folgender Zeile:
    "Btemp1 = Initfilesystem(1) "
    erscheint der Fehler allerdings nicht mehr aber ohne das kann das Programm ja auch nicht funktionieren.

    Ich sehe es schon kommen, dass es irgendein sehr sehr einfacher dummer Fehler ist und ich am Ende einen Monat für brauchen werde um ihn zu finden.

  6. #6
    Super-Moderator Robotik Visionär Avatar von PicNick
    Registriert seit
    23.11.2004
    Ort
    Wien
    Beiträge
    6.842
    mmhh.
    das "Btemp1" definierst du auch dort ? (nehm ich an)
    Ist der Controller groß genug für AVR-DOS ?

    Sonst müßt man wohl in die DOS-Library reinkraxeln.

    Sorry, fällt mir nix gescheites ein
    mfg robert
    Wer glaubt zu wissen, muß wissen, er glaubt.

  7. #7
    Neuer Benutzer Öfters hier
    Registriert seit
    15.05.2007
    Beiträge
    26
    Ich habe es jetzt mal folgendermaßen geändert, aber es brachte auch nichts. Hm bleibt nun die fRage was mit diesem Initfilesystem nicht richtig ist.
    Naja trotzdem danke, immerhin beruhigt es mich schon fast,dass ein weitaus erfahrener es auch nicht gleich sieht. Wobei..nein eigentlich ist das letztlich doch eher beunruhigend.



    Code:
    '---------------------------------------------------------------------------------------------------------------------------------------------------
    'Hauptprogramm
    '---------------------------------------------------------------------------------------------------------------------------------------------------
    
    
    
    
    '---------------------------SD Anfang---------------------------------------------
    $include "Config_MMC.BAS"
    $include "CONFIG_AVR-DOS.BAS"
    
    IF Gbdriveerror <> 0 THEN
       Lcd_string = "Drive error" : Lx1 = 1 : Ly1 = 50 : Fontsize = 1 : Lcd_fcolor = Rot : Lcd_bcolor = Weiss
       Gosub Lcd_print
    END IF
    
    Btemp1 = Initfilesystem(1)
    
    IF Btemp1 <> 0 THEN
       Lcd_string = "File system Error" : Lx1 = 1 : Ly1 = 51 : Fontsize = 1 : Lcd_fcolor = Rot : Lcd_bcolor = Weiss
       Gosub Lcd_print
    ELSE
       Lcd_string = "Card setup OK " : Lx1 = 1 : Ly1 = 52 : Fontsize = 1 : Lcd_fcolor = Rot : Lcd_bcolor = Weiss
       Gosub Lcd_print
    END IF
    
    Wait 3
    Gosub Lcd_cls
    
    
    Do
    
    
    Voutxw = Getadc(0)
    Waitms 10
    
    
    Voutx = Voutxw / 1024
    
    Voutx = Voutx * Referenzspannung
    
    
    Voutxstr = Fusing(voutx , "#.####")
    
    
    Lcd_string = "Voutx " : Lx1 = 2 : Ly1 = 50 : Fontsize = 1 : Lcd_fcolor = Rot : Lcd_bcolor = Weiss
    Gosub Lcd_print
    Lcd_string = Voutxstr : Lx1 = 8 : Ly1 = 50 : Fontsize = 1 : Lcd_fcolor = Rot : Lcd_bcolor = Weiss
    Gosub Lcd_print
    
    Open "Daten.txt" For Append As #10
    
    'Hier werden einmal die daten auf die Karte geschrieben
    
    
    Close #10
                                                     'Datei auf SD Karte schließen
    Loop
    
    
    End

    würde es vielleicht helfen wenn ich hier mal den kompletten code poste?

  8. #8
    Super-Moderator Robotik Visionär Avatar von PicNick
    Registriert seit
    23.11.2004
    Ort
    Wien
    Beiträge
    6.842
    Super wär ja, wenn ich das mit meinem Bascom übersetzen könnte. Aber das AVR-DOS kostet ja extra Kohle ?

    [_FROUND 2059] klingt eigentlich aber nach runden ? Lass mal das "fusing" weg, nur damit wir das gleich wieder vergessen können.
    mfg robert
    Wer glaubt zu wissen, muß wissen, er glaubt.

  9. #9
    Super-Moderator Robotik Visionär Avatar von PicNick
    Registriert seit
    23.11.2004
    Ort
    Wien
    Beiträge
    6.842
    aha, man muß eine gewisse Reife erreicht haben, um Schwachsinn verzapfen zu können. Ich scheine eh' alles da zu haben, was man braucht.

    Dann wäre wirklich die komplette Source interessant. Ich sollte ja die gleichen Fehler kriegen

    (Controller typ bitte angeben)
    mfg robert
    Wer glaubt zu wissen, muß wissen, er glaubt.

  10. #10
    Neuer Benutzer Öfters hier
    Registriert seit
    15.05.2007
    Beiträge
    26
    Nein also AVR Dos kostet nur etwas wenn man es gewerblich nutzen möchte.
    Also ich verwende den ATMega128 auf dem D062x Board von Display 3000, programmieren tue ich das ganze mit einem einfachen USB-ISP Programmer von EMBUD.

    So inzwischen habe ich noch ausprobiert alle Befehle die das LCD Display ansprechen auszukommentieren -ohne Erfolg. Wenn man jedoch die Routinen dazu (alles nach dem Hauptprogramm) auch auskommentiert geht es.. nur mag ich mich nun einmal nicht zwischen MMC Karte und Display entscheiden.

    Die config_MMC.bas habe ich übrigens dahingehnd geändert, dass ich Port b zu d machte da diese Platiene von Display 3000 ja auch auf Port b zugreift und bevor sich da etwas ins Gehege kommt. Wenn gewünscht kann ich das aber auch nochmal posten.
    Hier aber erstmal das Programm (mit auskommentierten LCD Aufrufbefehlen)

Seite 1 von 2 12 LetzteLetzte

Berechtigungen

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

Labornetzteil AliExpress