-
        

Ergebnis 1 bis 2 von 2

Thema: AVR-DOS - Fehler wenn Write mit einer Single-Var genutzt wird

  1. #1
    Erfahrener Benutzer Fleißiges Mitglied
    Registriert seit
    24.07.2005
    Ort
    18km südl. Lutherstadt Wittenberg
    Alter
    41
    Beiträge
    142

    AVR-DOS - Fehler wenn Write mit einer Single-Var genutzt wird

    Anzeige

    SMARTPHONES & TABLETS-bis zu 77% RABATT-Kostenlose Lieferung-Aktuell | Cool | Unentbehrlich
    Hi,

    ich habe gestern mich mal an dem AVR-DOS versucht. Ziel ist es einen Datenlogger aufzubauen, der Daten, die ihm per UART übergeben werden, in ein Text-file auf einer SD-Karte abzulegen, so daß diese später z.B. nach Excel importiert werden können.

    Das habe ich u.a. mit dem Write-Befehl versucht, aber sobald ich ihm eine Single-Variable übergeben habe, kam beim Compilieren ein Fehler der frei wiedergegeben so heißt: "Label not found ... _ftoa ..."


    in der AVR-DOS.LBX habe ich mit der Suche - Funktion diesen Code gefunden:

    Code:
    _FileWriteDecSingle:
       loadadr ___strbuf , X
       call _FSRAMA1
       call _ftoa
       rjmp _FileWrite_StrBuf
    [end]
    hier wird das fehlende Label aufgerufen, wenn Single geschrieben werden sollen - nur dieses Label habe ich nirgendwo anders im Programm-code gefunden - fehlt also wirklich...

    Da ich hier im RN-Forum bisher immer Hilfe bekommen habe, auch hierzu die Frage in die Runde - kann mir jemand helfen?
    MfG Dani.

  2. #2
    Erfahrener Benutzer Roboter-Spezialist
    Registriert seit
    01.10.2009
    Beiträge
    437
    Würde mal die Bascom-Version updaten, das dürfte das Problem beheben. _ftoa ist, wie's der Name schon sagt, eine Konvertierungsroutine für Fließkomma zu Ascii, das musst Du ja sowieso machen, wenn Du in ein Textfile speicherst. _ftoa befindet sich in keiner externen Lib, sondern ist Bestandteil des Compilers und wird von diesem eingebunden sobald benötigt.
    Nun scheint bei Dir der Compiler nicht zu erkennen, dass diese von der AVR-Dos Lib benötigt wird und bindet sie nicht ein. Du könntest das Problem umgehen, indem Du ganz zu Anfang einen Dummyaufruf machst:
    Code:
    Dim Dum_Sng As Single
    Dim Dum_Str As String * 16
      Dum_Str = str(Dum_Sng)
    Sinnvollerweise dafür Variablen verwenden, die bereits im Code existieren.
    Wobei ein Update aber das Problem ohnehin beseitigen sollte.

Ähnliche Themen

  1. Lovotics: Wenn der Roboter eifersüchtig wird
    Von Roboternetz-News im Forum Neuigkeiten / Technik-News / Nachrichten / Aktuelles
    Antworten: 0
    Letzter Beitrag: 30.06.2011, 17:50
  2. Spannungsregler wird heiß, wenn ISP angesteckt wird
    Von loukumas im Forum AVR Hardwarethemen
    Antworten: 5
    Letzter Beitrag: 11.02.2008, 17:53
  3. Was Passiert wenn die Last zu groß wird.
    Von Süße Hexe im Forum Motoren
    Antworten: 7
    Letzter Beitrag: 13.09.2007, 22:20
  4. I2C Adapter Software es wird immer WRITE gesendet
    Von yunscher im Forum C - Programmierung (GCC u.a.)
    Antworten: 8
    Letzter Beitrag: 29.03.2007, 19:12
  5. Wie wird Dataflash im butterfly kit genutzt
    Von norafh im Forum Basic-Programmierung (Bascom-Compiler)
    Antworten: 5
    Letzter Beitrag: 23.11.2005, 16:43

Berechtigungen

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