Hallo

So checke ich meinen asuro:

Code:
#include <asuro.h>

unsigned char sw_data;
unsigned int data[2];

int main(void) {
Init();
SerWrite("\nHallo\nBatterie: ",17);
PrintInt(Batterie());
do {
    sw_data=PollSwitch();
    if (1) {  // 1 bedeutet: diese Funktion wird getestet
    SerWrite("\n",1);
    PrintInt(sw_data);
    }
    if (0) {
    LineData(data);
    FrontLED(ON);
    SerWrite("\n",1);
    PrintInt(data[0]);
    SerWrite("-",1);
    PrintInt(data[1]);
    }
    if (0) {
    OdometrieData(data);
    SerWrite("\n",1);
    PrintInt(data[0]);
    SerWrite("-",1);
    PrintInt(data[1]);
    }
}while (1);
return 0;
}
In asuro.c wird der Tastenwert eingelesen und die Zuordnung der einzelnen Bits zu den Tastern eingestellt. An dieser Stelle kann man seinen asuro an die Widerstände anpassen, quasi "kalibrieren":

Code:
return ((10240000L/(long)i-10000L)*63L+5000L)/10000;
Bei mir reichte das Ändern von 62 auf 63 in der Formel, es gibt da einige verschiedene Varianten...

Gruß

mic