Hallo! Ich bin am verzweifeln mit diesem anscheinlich simplen Problem: Alles genannte im Anhang und zur Verbreitung gewünscht Ein Testprogramm für ein 128x64 OLED (SSD1306) - Ich benutze ein OLED (SSD1306) 128x64 im Hardware SPI Modus. - Atmega 328P - nackt, nur SPI, Sensor, Spannungst. und das Display. 8MhZ - u8glib v.1.10 graphische C libraries (sehr zu empfehlen, auch verfügbar für Arduino) von http://code.google.com/p/u8glib/downloads/list - Ein TSIC 206 Temperatursensor PWR - PC3 Data - PC2 GND-GND - Einen Spannungsteiler - PC4. - AVR Studio 6 1996 auf Win7 x64 mit 3.4.1.830 - GCC 4.6.2 (AVRGCC - 3.4.1.95). Erwartet: ********* -Spannungswert und Temperaturwert aufs OLED ausgeben. Real: ***** -Spannungswert wird ausgegeben; -Temperaturwert wird ausgegeben, jedoch falsch. - Funktionierende .c (LCD.c) für ein HD44780 LCD 8x2; - jedoch nur -Os Compiler Optimierung. Wo ca. +24°C angezeigt werden sollen werden ~ -24.2° angezeigt. Beim berühren des Sensors steigt der Wert, wechselt aber sporadisch bei anderen Kommawerten auf 6153,5 und 3152,2 - und immer diese zwei Werte. - Wird -o3 als Optimierungsoption gewählt verschwindet das Wechseln in einem Temperaturbereich von +-10° , zeigt jedoch genauso den falschen Wert von -24,x..-23,x..-22,x..usw an. Symptome: ********* - Der Compiler optimiert etwas am Code was zu einem falschen Ergebnis führt. Einfache Counter und Ausgaben funktionieren einwandfrei, ebenso mit double Variablen und mit der Benutzung von dtostrf(); z.B. dauerhaft +0.2 - Compileroptionen für die u8glib und für das Projekt: -Os , -fdata-sections, (-prepare for garbage collection -garbage collect +sollte ja keine Auswirkungen auf den generierten Code haben) Prinzipiell diese Optionen: http://code.google.com/p/m2tklib/wiki/as6 -Bei dem LCD hat alles einwandfrei funktioniert. Also Tsic.c & h (ebenso lcdlib.h & .c) müssten in Ordnung sein. Die Berechnung des Temperaturwerts ist auch richtig. - Ich habe einige Attribute geändert und Variablentypen, jedoch leider ohne Erfolg. - oled.c Wo könnte der Fehler liegen?? Die HW-SPI sollte nicht stören. Hardwareseitig ist alles in Ordnung. Vielen vielen Dank im Voraus!!
Das Problem muss beim Messen der Temperatur sein. Fixe Werte für &temperatur (in oled.c) werden richtig angezeigt... Hat jemand eine Idee??
Fehler gefunden - hat sich erübrigt! Dateien sind in Ordnung. Viel Spaß! Für alle die Interesse haben, (aktuelle) Bibliotheken von: - http://code.google.com/p/u8glib/downloads/list - http://www.mikrocontroller.net/attachment/highlight/49058 - http://www.mikrocontroller.net/attachment/highlight/27606
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.