Forum: Mikrocontroller und Digitale Elektronik u8g und float's


von Axel (Gast)


Lesenswert?

Nabend Zusammen.

Ich bin dabei einen Geschwindigkeitsmessgerät zu bauen, welches per 
Lichtschranken, die für die Strecke benötigte Zeit als Messgröße 
herranzieht.

Hardware:

Mega168
16-Bit Timer bei 20MHz (gibt so ca. 10000 Takte)
Display OLED 64*128 SSD1306 über Levelshifter CE4050

Als Sprache benutze ich C

Für das Display benutze ich die U8g lib. Und jetzt habe ich folgendes 
Problem. Habe schon ein Programm geschrieben, welches ein Menü usw. 
behinhaltet, und das funktioniert auch alles wunderbar.

ABER !!

sobalt ich die Berechnung mit einem float implementiere, sagt das 
Display nach dem "Flashen" nichts mehr und ich kann es nur 
"reaktivieren", wenn ich ein ganz simpeles Program wie "Hello World" 
kompiliere und in den Controler Flashe.

Sprich:
- Display funktioniert
- Mit float Berechnung compilieren und Flashen
- Display bleibt dunkel
- Berechnung aus Quelltext löschen und comp. + Flashen
- Display immer noch dunkel
- Hello Word drauf flashen und danach altes Programm
- Display geht wieder



Für mich ist das unerklärlich. KAnn es also sein, dass die U8G lib sich 
nicht mit float's verträgt und ihrgentwelche Pointer oder so 
durcheinander kommen ?

Die Berechung selber findet auch nicht in der "draw" Schleife statt.

Freue mich über eure Unterstüzung.

Axel

von Oliver (Gast)


Lesenswert?

Wenn sich ein Display völlig verstellt hat, dann kann es durchaus sein, 
dass es sich erst nach mehrsekündiger stromlosigkeit wieder starten 
läßt.

Ich glaube auch nicht, dass es an dem float code liegt. Ich tippe eher 
auf die üblichen Verdächtigen, wie verbogene Pointer oder zu viel 
Stackverbrauch.

Grüße,
Oliver

von amateur (Gast)


Lesenswert?

Hast Du auch die nötigen Fließkomma-Bibliotheken hinzugelinkt?

von Axel (Gast)


Lesenswert?

Öhmmm.

welche Währen das ?
Die aus diesem Topic  [[Beitrag "Gleitkomma-Bibliothek für AVR"]]
oder gibt da noch was anderes? Hätte gedacht der Compiler macht das für 
mich.

von Axel (Gast)


Lesenswert?

Hat sich erledigt Brett vor dem Kopf.
Mache es nun mit Festkomma Arimetik. So gibt es keine Probleme.

DAnke nochmal

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.