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
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
Ö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.
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.