ich nochmal: bin gerade dabei verschiedene Programme zu programmieren und das schon fertige aus dem Buch von Robin Gruber an die neue Lib anzupassen - also mit LineData. Scheint auch soweit zu funktionieren, aber:

Wenn die Linke Backled aufleuchten soll sobald es auf der Seite wärmer ist, glimmt die rechte led "teilweise" mit. Teilweise, weil sie bei 4 Stufen ihren Senf dazugibt:
Wärmequelle weiter weg ist --> aus;
etwas näher dran --> sie glimmt;
ziemlich nahe dran --> wieder aus;
ein kleines stück näher --> leuchtet aufmal hell

hier der code dazu:
Code:
#include "asuro.h"

int main()
{
  unsigned int data[2];
  Init();
  while(1)
  {
	LineData(data);
	if (data[0] || data[1] > 100)
	{
	  if ((data[0] > 100) && (data[1] < 80))
	  {
	    BackLED(ON,OFF);
	  }
	  if ((data[0] < 80) && (data[1] > 100))
	  {
	    BackLED(OFF,ON);
	  }
	  if ((data[0] > 100) && (data[1] > 100))
	  {
	    BackLED(ON,ON);
	  }
	}
	else
	{
	  BackLED(OFF,OFF);
	}
  }
  return 0;
}
in der adc.c habe ich LineData einfach nur soweit angepasst, dass die interne Spannungsreferenz genommen wird, sprich: (1<<REFS1) dazugesetzt und anschließend alles neu übersetzt.

wenn ich die schon fertige hex datei für das Programm OhneAbgleich auf meinen ASURO flashe, glimmt die eine LED nur heller oder dunkler....je nach abstand (s. oben)
woran liegt das? oder macht das nichts? Danke schonmal

//achja: und kann mir vll einer erklären wie die vom Buch auf die Formel gekommen sind um herauszufinden von welcher Seite die Wärmequelle kommt?
Code:
// Richtung bestimmen
				diff=((signed)tdata[0]-(signed)tdata[1])*32/sum;
				if (diff>4) {
					// Links deutlich wärmer? Nach links fahren!
					BackLED(ON,OFF); 
				}
				else if (diff<-4) {
					// Rechts deutlich wärmer? Nach rechts fahren!
					BackLED(OFF,ON); 
				}