INFO: Dieses Forum nutzt Cookies...
Cookies sind für den Betrieb des Forums unverzichtbar. Mit der Nutzung des Forums erklärst Du dich damit einverstanden, dass wir Cookies verwenden.

Es wird in jedem Fall ein Cookie gesetzt um diesen Hinweis nicht mehr zu erhalten. Desweiteren setzen wir Google Adsense und Google Analytics ein.

Antwort schreiben 
 
Themabewertung:
  • 0 Bewertungen - 0 im Durchschnitt
  • 1
  • 2
  • 3
  • 4
  • 5
sprintf() plus scanf() : ständig Fehler, warum?
26.02.2015, 15:16 (Dieser Beitrag wurde zuletzt bearbeitet: 26.02.2015 15:19 von HaWe.)
Beitrag #9
RE: sprintf() plus scanf() : ständig Fehler, warum?
aha, also ein Bug, der in 1.6.0 doch noch nicht behoben ist. Angry
das
Zitat:printf:
-Wl,-u,vfprintf -lprintf_flt -lm

scanf:
-Wl,-u,vfscanf -lscanf_flt -lm
hilft mir allerdings nicht weiter.
Ich hatte 1.6.0 auf diesem Rechner nur aus Versehen noch drauf.
Jetzt werde ich es auch hier runterschmeißen und 1.5.8 mit float-Patch installieren, mal gucken, was dann passiert.

Wirklich zu blöde, dass die Sketch-Programmierer nicht im Stande sind, das vernünftig zu lösen ! Angry

sowas sollte als einfaches
#pragma config ...
(oder was auch immer) möglich sein !! Angry




update:

Nein, so ein Mist! Angry
Mit 1.5.8 und float-Patch funktioniert es auch nicht!!! Angry
Ich könnte Ko**en ! Angry
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
26.02.2015, 15:33
Beitrag #10
RE: sprintf() plus scanf() : ständig Fehler, warum?
Nein, das ist kein Bug, das ist Absicht. Ich bin auch froh drum, dass sowas nicht meinen Speicher vollhaut.
Gruß,
Thorsten

Falls ich mit einer Antwort helfen konnte, wuerde ich mich freuen, ein paar Fotos oder auch ein kleines Filmchen des zugehoerigen Projekts zu sehen.
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
26.02.2015, 15:41 (Dieser Beitrag wurde zuletzt bearbeitet: 26.02.2015 15:43 von HaWe.)
Beitrag #11
RE: sprintf() plus scanf() : ständig Fehler, warum?
was ein Quatsch!
wer die Funktion anbietet soll sicherstellen, dass sie standardmäßig funktioniert!
Bei allen floats Null ausgeben ist doch Unsinn hoch 10!

ich arbeite mit Arduino Mega und Due, und spätestesn beim Due habe ich gottseidank für so etwas keine Speicherprobleme!

wer die Option nicht will, soll sie meinetwegen abstellen können!
- aber wenigstens wer den Standard will, soll ihn auch einfach wieder einstellen können!

Was denken die sich?! Bauen nen ARM Prozessor ein und behandeln ihn als wär er ein Nano und schlimmeres!

Wie krieg ich jetzt vernünftig arbeitende stdio.h -Funktionen ??
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
26.02.2015, 16:08
Beitrag #12
RE: sprintf() plus scanf() : ständig Fehler, warum?
Ich arbeite halt mit Nanos und finde es gut, wenn mit dem Speicher gespart wird. Wer den ganzen unnötigen Kram will, der kann sich's ja reinpatchen oder zusammenbasteln. Es ist ja auch nicht besonders schwierig, sich sowas selbst zu bauen, z.B. so:
Zitat:You can scan floats by scanning a string and then applying atof on them.
Ich will jedenfalls nicht wie bei einem Aldi-PC erstmal die ganze Bloatware ausschalten müssen, damit mein Programm in einen Nano passt.

Falls ich mit einer Antwort helfen konnte, wuerde ich mich freuen, ein paar Fotos oder auch ein kleines Filmchen des zugehoerigen Projekts zu sehen.
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
26.02.2015, 16:24 (Dieser Beitrag wurde zuletzt bearbeitet: 26.02.2015 16:57 von HaWe.)
Beitrag #13
RE: sprintf() plus scanf() : ständig Fehler, warum?
Einspruch, Euer Ehren!
Zitat:wer die Option nicht will, soll sie meinetwegen abstellen können!
- aber wenigstens wer den Standard will, soll ihn auch einfach wieder einstellen können!

wie du weißt, arbeite ich mit multi-Variablen-Strings mit variablen Typen und ich muss wie in ANSI C in der Lage sein, sie in einem Rutsch zu lesen. Ich möchte stdio-h komplett nutzen können, und nicht nur mit abgesägten Beinen.
Und daher ist das mit atoi und atof oder was weiß ich nicht nutzbar - erstens sind sie nicht universell formatierbar mit allen Möglichkeiten, die printf bietet, und zum anderen unterstützen sie keine mehrfachen Variablen mit formatstr.

Arduino ist aber nicht == Nano, es müssen vor allem auch die leistungsfähigen CPUs bedient werden! D.h. auch ein ARM Cortex muss die Dinger angemessen nutzen können! Also muss man die Standards auch wieder einfach enabeln können, wenn sie für die Mikro-Mikros rausgeschmissen wurden!

Zitat:If anyone is supposed to exclude standards then he is expected to exclude them by himself.
But AT LEAST anyone who wants these standard features should be able to simply INCLUDE the standards by something like
#pragma config noeffingformatbugs
or whatever !
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
26.02.2015, 17:00
Beitrag #14
RE: sprintf() plus scanf() : ständig Fehler, warum?
(26.02.2015 16:24)HaWe schrieb:  Und daher ist das mit atoi und atof oder was weiß ich nicht nutzbar - erstens sind sie nicht universell formatierbar mit allen Möglichkeiten, die printf bietet,
Was soll den bei atof formatierbar sein?

Zitat: und zum anderen unterstützen sie keine mehrfachen Variablen mit formatstr.
Na und, dann liest man halt eins nach dem anderen.

Ich verstehe Dich schon, von wegen Standard und so. Aber das ganze ist doch derartig Pillepalle, dass man sich da nicht wirklich darüber ereifern kann.

Gruß,
Thorsten

Falls ich mit einer Antwort helfen konnte, wuerde ich mich freuen, ein paar Fotos oder auch ein kleines Filmchen des zugehoerigen Projekts zu sehen.
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
26.02.2015, 17:28 (Dieser Beitrag wurde zuletzt bearbeitet: 26.02.2015 17:38 von HaWe.)
Beitrag #15
RE: sprintf() plus scanf() : ständig Fehler, warum?
z.B.
Code:
"valdb1=%-010.3f   valf2=%-5.1f   prod1+2=%08g"
ich kann doch erwarten, wer stdio.h einschließt per
#include <stdio.h>
der muss auch erwarten können, dass es funktioniert wie vorgesehen, für was auch immer (z.B. für tabellarische Ausgabe auf dem Bildschirm) - es bin doch nicht ich, der Entschuldigungen dafür liefern muss, dass C diese Funktionen - vorraussichtlich aus gutem Grund - implementiert hat ?

Wieso muss ICH begründen, dass ich Standard-Funktionen nutzen will?

Wer stdio.h nicht brauchen kann oder nicht nutzen darf wie du beim Nano wegen Speicher, der braucht es ja nicht zu #includen! Lass es dann doch einfach weg! wo ist das Problem?

Aber stdio.h zu verstümmeln bis zur Unkenntlichkeit und Funktionslosigkeit und einem dann diese Krüppelfunktionen zuzumuten ohne einen praktikablen Lösungsvorschlag, das wieder verfügbar zu machen - das schlägt doch dem Fass den Boden ins Gesicht !!!
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
28.02.2015, 15:31
Beitrag #16
RE: sprintf() plus scanf() : ständig Fehler, warum?
update:
dass der sscanf code nicht mit dem Mega läuft, liegt wirklich am ausgegrenzten format für floats für AVRs. Mit dem Due ginge es grundsätzlich aber schon...

Dass es aber grundsätzlich nicht funktionierte, flag daran, dass formatstrings in sscanf (im Gegensatz zu sprintf oder print) keine Dezimalpunkte enthalten dürfen.
"%8.3f" ist also in printf erlaubt, in sprintf auch, aber nicht in scanf oder sscanf.

Wenn man diesen Fehler korrigiert und allein per "%f" in sscanf liest, funktioniert es also beim Due,
und wenn man den "lib.c float patch" für AVRs installiert, dann geht es auch mit dem Mega (Uno etc. nicht getestet).

Insgesamt läuft der sscanf code damit endlich fehlerfrei Smile

danke an alle für eure Beiträge !
8-)
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
Antwort schreiben 


Möglicherweise verwandte Themen...
Thema: Verfasser Antworten: Ansichten: Letzter Beitrag
  Fehler in meinem Programm Franz54 7 126 01.12.2016 23:58
Letzter Beitrag: hotsystems
  Fehler im Programmablauf binderj1 14 347 10.10.2016 10:29
Letzter Beitrag: StephanBuerger
  Fehler beim Kompilieren binderj1 5 288 03.10.2016 21:27
Letzter Beitrag: hotsystems
Smile Simpler Fehler bei MAP? malsehen 8 225 02.10.2016 19:46
Letzter Beitrag: malsehen
  Fehler beim Speichern von Projekten Manni66 16 679 23.08.2016 10:05
Letzter Beitrag: hotsystems
  Ausgabe druckt immer 2 Werte anstatt nur einen. Finde den Fehler nicht TimeMen 24 732 02.07.2016 14:18
Letzter Beitrag: hotsystems
  Probleme mit sprintf() und dtostrf() GMBU 11 794 22.06.2016 10:52
Letzter Beitrag: GMBU
  Adafruit SD-master / logger shield: Fehler beim 2. Kompilieren kl-ing 3 329 06.06.2016 16:07
Letzter Beitrag: Bitklopfer
  Fehler beim Kompilieren Rudi 4 882 05.02.2016 19:46
Letzter Beitrag: Rudi
  Fehler in WCharacter.h beim Kompilieren sfl 0 351 04.02.2016 14:52
Letzter Beitrag: sfl

Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste