- 3D-Druck Einstieg und Tipps         
Seite 2 von 3 ErsteErste 123 LetzteLetzte
Ergebnis 11 bis 20 von 25

Thema: Label not found [_DBL_K2SRAM ]

  1. #11
    Erfahrener Benutzer Roboter Experte
    Registriert seit
    18.05.2007
    Ort
    Berlin
    Alter
    53
    Beiträge
    765
    Anzeige

    Praxistest und DIY Projekte
    Ich habe den Code jetzt nicht gesehen. Wenn Du aber z.B. die MCSByte oder so ähnlich einbindest, dann funktioniert unter Anderem INCR und DECR nur noch für Bytes und evtl integer. Der Sinn darin ist, dass das Programm kleiner wird. Sprünge out of Range entstehen bei relativen Sprüngen, wo die Adressen zu weit auseinander sind. Da hilft es manchmal die Subs im Programm nach weiter Vorn oder Hinten zu schieben.
    Wenn das Herz involviert ist, steht die Logik außen vor! \/

  2. #12
    Erfahrener Benutzer Robotik Einstein Avatar von Jaecko
    Registriert seit
    16.10.2006
    Ort
    Lkr. Rottal/Inn
    Alter
    42
    Beiträge
    2.009
    Naja diese Sache hab ich mit dem Code auch getestet. Wenn ich ne neue Variable einbinde (Typ egal ob Byte, Word, Double etc..) und die dann in der ISR mit INCR/DECR bearbeite, dann meckert Bascom da nicht.

    Noch was seltsames: Wenn ich die ISRs mit dem x=x+/-1-Code Zeilenweise auf INCR/DECR umbaue und nach jeder Zeile Compiliere, geht das etwa bis zur 3. Zeile, danach kommt wieder dieses Label not found. Geh ich eine Zeile zurück (wo es zuvor noch ging!), bleibt der Fehler! Erst wenn wieder ALLE Zeilen auf x=x+/-1 umgebaut sind, verschwindet der Fehler wieder. Scheinbar ist Bascom hier nicht gerade das, was man deterministisch nennt.
    #ifndef MfG
    #define MfG

  3. #13
    Erfahrener Benutzer Roboter Experte
    Registriert seit
    18.05.2007
    Ort
    Berlin
    Alter
    53
    Beiträge
    765
    Der Code wäre mal interessant...
    Wenn das Herz involviert ist, steht die Logik außen vor! \/

  4. #14
    Erfahrener Benutzer Roboter Genie Avatar von oratus sum
    Registriert seit
    25.12.2006
    Ort
    Wien
    Alter
    33
    Beiträge
    1.080
    Blog-Einträge
    1
    Ich hab dir den Code per N geschickt.

    Ich möchte den Code heir (noch) nicht veöffentlichen da das ganze meine ein Teil meiner Informatik-Maturaarbeit im Gymnasium ist.

  5. #15
    Erfahrener Benutzer Roboter Experte
    Registriert seit
    18.05.2007
    Ort
    Berlin
    Alter
    53
    Beiträge
    765
    Danke.

    Wenn ich Long statt Double nehme, funzt es. Muss es Double sein? Weil incr bei einer Double ist nicht das Gleiche wie Double=double+1. Bei incr wird die Variable Bitweise (Auch die Stellen hinter dem Komma) erhöht. Des Weiteren wird bei incr 11111111 ein 00000000 rauskommen.
    Wenn das Herz involviert ist, steht die Logik außen vor! \/

  6. #16
    Erfahrener Benutzer Roboter Genie Avatar von oratus sum
    Registriert seit
    25.12.2006
    Ort
    Wien
    Alter
    33
    Beiträge
    1.080
    Blog-Einträge
    1
    Nein Double muss es nicht sein. Ich habe Double genommen da in der Variable die Odometrie gespeichert wird und ich nicht mit den Stellenwerten rumflicken will.

    Mich interessiert daher auch nicht ob was hinterm Komma steht, da dort sowieso nichts stehen sollte.

    Ich meine, dass ich jetzt statt dem Decr es "per Hand" ausrechnen muss ist jetzt überhaupt kein Drama....

    btw,

    Ich hab grad mal ene Frage:

    Wenn bei einer Interrupt-Routine für den UART ein Waitkey aufgerufen wird also:

    on UART isr_uart

    isr_uart:
    If inByte = 20 Then
    inservo = Watikey(#3)
    End If

    Wir dann die INterrupt routine doppelt aufgerufen? Nein, da wärend eine ISR abgearbeitet wird die INterrupts global abgeschaltet werden, oder irre ich mich da?

  7. #17
    Erfahrener Benutzer Roboter Experte
    Registriert seit
    18.05.2007
    Ort
    Berlin
    Alter
    53
    Beiträge
    765
    Oh, habe mein Post wohl etwas spät editiert. Demnach hätte das mit incr(decr) eh nicht richtig funktioniert.
    Wenn das Herz involviert ist, steht die Logik außen vor! \/

  8. #18
    Erfahrener Benutzer Roboter Genie Avatar von oratus sum
    Registriert seit
    25.12.2006
    Ort
    Wien
    Alter
    33
    Beiträge
    1.080
    Blog-Einträge
    1
    Und noch was:
    Ich bekomme eine Fehlermeldung wenn ich diese Zeile einfüge:
    Code:
    Config Timer5 = Pwm , Pwm = 8 , Compare A Pwm = Clear Up , Compare B Pwm = Clear Down , Compare C Pwm = Clear Up , Prescale = 256
    Fehlermeldung:
    Error: 222 Line:70 Illegal character [expected (, got " [TCC53a]]

    Ich möchte nur ein PWM Signal auf OC5 abgeben, exakt der gleiche Code funktioniert mit Timer4.

    Ist übrigens ein RN2560 Modul mit Atmega2560 drauf

  9. #19
    Erfahrener Benutzer Roboter Experte
    Registriert seit
    18.05.2007
    Ort
    Berlin
    Alter
    53
    Beiträge
    765
    waitkey und Dinge, welche viel Rechenzeit benötigen sind in einer ISR schlecht aufgehoben. Bei waitkey würde die isr ständig neu aufgerufen werden. Du kannst den Interrupt zwar zwischenzeitlich deaktivieren und zwischenzeitlich aufgetretene IRQ löschen, aber gemacht habe ich es so noch nie. In einer ISR nur eine Variable (Flag) setzen und dieses in der Hauptschleife abfragen ist für mich in jedem Fall die sauberere Weise.
    Wenn das Herz involviert ist, steht die Logik außen vor! \/

  10. #20
    Erfahrener Benutzer Roboter Experte
    Registriert seit
    18.05.2007
    Ort
    Berlin
    Alter
    53
    Beiträge
    765
    Kann evtl Timer5 kein PWM? Müsste man mal ins Datenblatt schauen.
    Wenn das Herz involviert ist, steht die Logik außen vor! \/

Seite 2 von 3 ErsteErste 123 LetzteLetzte

Berechtigungen

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

12V Akku bauen