Hallo Siro,
So habe mich mal wieder angeklemmt ^^
Das der Widerstand schwankt war mir klar... jedoch nicht dass der so stark währenddessen schwankt. Ich dachte immer es wäre von Stück zu Stück verschieden... OK Fehlannahme... Danke.
Deine Funktion ADC_read soll einen "unsigned char"
Oh... das ist noch von dem PIC18F45K20 aus dem DemoBoard
Habe ich total übersehen! Habe nun ein einfaches "void" draus gemacht da es ja keinen return-befehl gibt.
Aber wie ich deiner Funktion entnehme liefert sie garnichts zurück. oder da fehlt ein Stück Code, kann ja sein.
Oder Du wertest denn temp2 Wert direkt aus, das kann ich deinem Code jetzt nicht entnehmen, aber ich hoffe er ist auch als 16 Bit Wert definiert.
Also die temp2 wird ganz vorne unter "* F I X E D V A R I A B L E S" festgelegt (die habe ich rausgelassen... trage ich nach!). Die Funktion soll den Wert nur in die temp2 schreiben und fertig. Einen Rückgabewert gibt es nicht.
Alles weitere wird dann in der Funktion therm() in ein Sichtbares Bildchen umgerechnet und auf die 5 DotMatrix Segmente abgefeuert.
warum schiebst DU den ADRESH 6 mal links ??
Du überschreibst Dir Bit 6 und 7
Das ist eine der von mir beschrieben stellen wo ich einfach mal rumprobiert habe... Ich wollte damit in der Manipulation was testen... evtl. wäre der Fehler wo anders gewesen.
Das mit dem Timing habe ich ehrlich gesagt noch nicht so ganz verstanden!
Dort habe ich zuerst meinen Fehler gesucht. Ich denke du hast mich da ein Stück weiter gebracht... So ganz ist es mir aber noch nicht klar...
Also die FOSC/16 habe ich mit meiner Rechnung nur zufällig erreicht... verstanden aber nicht...
Ist bin nun deine Tips und Ideen durchgegenagen und meinen Code überprüft und geändert.
Ich habe nun mal einige Zeit die Werte beobachtet und aufgeschrieben.
Code:
ADRESH | ADRESL | temp2 | meine Anzeige
0x01 0x43 0x0075 117
0x01 0x3c 0x006E 110
0x01 0x40 0x0072 114
0x01 0x42 0x0074 116
0x01 0x3D 0x006F 111
Also wenn ich 0x0075 umrechne komme ich auch auf 117... Also meine Anzeige passt schon mal. Gut, da ist kein rechenfehler!
Wie man sieht schwank dieser zwischen 111 und 117. Also passt es irgendwie... aber sind dies nicht die von mir erhofften Werte 
Ein weiterer Test der zuvor immer fehl geschlagen ist: Temp fühler stark erwärmen oder abkühlen. Ich habe ihn einfach mal in die Hand genommen und auf 1,520V gebracht (Zuvor 1,458V) dort waren die Werte nun zwischen 120 und 129.
So, Ich danke dir erst mal und hoffe dass du mir noch bei dem letzten Problem helfen kannst, warum meine Werte zu klein sind...
Lesezeichen