ATMEL128 sprintf-Problem AVR-Studio 5

OP #2349625
Lesenswert?
• ▲
▼
Hallo !

Ich bin nun auf die neue AVR-Studio5 umgestiegen was eigentlich nichts 
ausmachen sollte, aber bei mir funktioniert noch etwas nicht.
Ich hab um sprintf zu testen folgenden Link mir durchgelesen:
sprintf-http://www.mikrocontroller.net/articles/FAQ#Aktivieren_der_Floating_Point_Version_von_sprintf_beim_WinAVR_mit_AVR-Studio
Hab versucht mal alles in der neuen 5er Umgebung einzustellen.
Dazu hab ich zwei Screenshots angehängt.
Ich hab einen ganz einfachen Code geschrieben:
1
#include <avr/io.h>
2
#include <math.h>
3
#include <stdio.h>
4

5
int main(void)
6
{
7
  unsigned int  Erg=528;
8
  double        U=0.2F,K=0.2F;
9
  unsigned char Buffer[20];
10
  
11
  K=(double)Erg;
12
  U=K*(double)3.4/(double)328.0;
13
  
14
  sprintf(Buffer,"%f\r\n",U);
15
          
16
   while(1)
17
   {
18
       //TODO:: Please write your application code 
19
   }
20
}

Wenn ich das ganze simuliere dann lass ich mir über den Watch die 
Variable Buffer anzeigen. Aber das was da drinsteht ist alles andere als 
was man erhofft.
In der Variablen U steht das richtige Ergebnis.
Aber im Buffer steht: Buffer[0]=63 Buffer[1]=13 Buffer[2]=10.
Zumindest sieht man das \r\n
Aber es sollte im Buffer ja 5,473... stehen.
Was mache ich falsch ?

Gruß U.
Angehängte Dateien:
#2349644
Lesenswert?
• ▲
▼
Hi,
U. B. schrieb:
> Aber im Buffer steht: Buffer[0]=63 Buffer[1]=13 Buffer[2]=10.
> Zumindest sieht man das \r\n
63 == ? , das zeigt dir das die transformation nicht gelungen ist. Also 
ist irgendwas an deinen Einstellungen falsch.

Du kannst aber auch von der stdlib.h -->
1
dtostrf(double __val, signed char __width, unsigned chat __prec, char* s);
benutzen.

Gruß

Antwort schreiben

Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt. Bitte hier nur auf die ursprüngliche Frage antworten, für neue Fragen einen neuen Beitrag erstellen.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.