u8g und float's

Gast #3146453
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
Gast #3146663
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

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren