sprintf - float - Wert (trotz Einstellung "?")

Gast #537996
Lesenswert?
• ▲
▼
Hallo,
Ich habe ein programm in C, welches einen Float - Wert auf einem 
zweizeiligen Display ausgibt.

Nach dem ich die Einstellungen in AVR - Studio vorgenommen habe klappte 
dieses auch. Ich erhielt kein "?" sondern den Float - Wert.

Nun haben wir ein vierzeilen Display in betrieb genommen. Der Controller 
ist ebenfalls kompatibel zum zwei zeilen Display.

Die Routine funktioniert auch soweit ganz gut. Doch mit dem selben 
Programm, dass auf dem zwei zeiligen Display geht, bekomme ich auf dem 
vier zeilen Display wieder ein "?" statt dem Wert.

Hat wer ne Idee, wodran das liegen mag?

Mfg Jan H.
Gast #538022
Lesenswert?
• ▲
▼
Den Header kann ich euch mal als Anhang geben.
1
int sprintf (char *buffer, const char *format,...);    
2

3
int main ()
4
{
5
  DDRD = 0xff;
6
  float x;
7
  x = 0.23;
8
  lcd_init ();
9
  sprintf (Ergebnis, "%6.2f",x);      
10
  lcd_position (4,13);                      
11
  lcd_text(Ergebnis);    
12
}

  
Gast #538024
Lesenswert?
• ▲
▼
Zudem ist im Header noch ein Fehler. Und zwar funktioniert die 
Positionsangabe in der ersten Displayhälfte (1 und zweite zeile) 
wunderbar. in der 3 und 4 zeile spinnt diese.

Wenn man nun
1
lcd_position (4,13); 
2
lcd_position (4,13);

schreibt, dann geht es..dann setzt er den cursor auf position 4,13 ... 
jedoch NUR, wenn man es doppelt schreibt ...

Seltsam
#538077
Lesenswert?
• ▲
▼
Jan H. wrote:
> ... ist das Problem zu komplex oder ungenau gestellt?

Nicht wirklich.
Nur sehr mysteriös.

Normalerweise würde ich sagen, dass die beiden
Problemkreise
* sprintf erzeugt bei einem float ein ?
* Deine LCD Ansteuerung funktioniert nicht richtig
absolut nichts miteinander zu tun haben.
Gast #538111
Lesenswert?
• ▲
▼
Das habe ich auch schon gedacht ... findest du/ oder Ihr denn vielleicht 
nen Fehler, Denkfehler oder so ...nenn Ansatz wo man mal weiter 
nachfoschen könnte ...

Ich sehe im Hauptprogramm nämlich KEINEN Fehler ..oder ihr? Das 
Hauptprogramm ist das was oben im Forum angedeutet ist.

Mfg

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.