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:
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...Code:_FileWriteDecSingle: loadadr ___strbuf , X call _FSRAMA1 call _ftoa rjmp _FileWrite_StrBuf [end]
Da ich hier im RN-Forum bisher immer Hilfe bekommen habe, auch hierzu die Frage in die Runde - kann mir jemand helfen?
MfG Dani.
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:
Sinnvollerweise dafür Variablen verwenden, die bereits im Code existieren.Code:Dim Dum_Sng As Single Dim Dum_Str As String * 16 Dum_Str = str(Dum_Sng)
Wobei ein Update aber das Problem ohnehin beseitigen sollte.
Lesezeichen