Hallo
Vermutlich stimmen die von den Tasten erzeugten Werte nicht ganz, deshalb wird bei K1 wohl zusätzlich K6 als gedrückt erkannt (32 + 1) und und deshalb der Motor gestartet. Versuche mal die Tasten zu "kalibrieren":
http://www.asurowiki.de/pmwiki/pmwiki.php/Main/Tasten
Gruß
mic
[Edit]
Im asurowiki steht:
"K1 = 1, K2 = 2, K3 = 4, K4 = 8, K5 = 16, K6 = 32"
das ist natürlich falsch, richtig ist es gerade andersrum, wird im Folgenden dann auch richtig erklärt. Der Tastertest aus dem Selbsttest:
Code:
/* ---------------------- */
/* ----- Switch Test ---- */
/* K1 -> Status LED Green */
/* K2 -> Status LED RED */
/* K3 -> Line LED */
/* K4 -> Break LED Left */
/* K5 -> Break LED Rigth */
/* K6 -> Motor Left */
/* ---------------------- */
void SwitchTest(void)
{
unsigned char sw,tmp;
MotorDir(FWD,BREAK);
sw = PollSwitch();
StatusLED(OFF);
FrontLED(OFF);
BackLED(OFF,OFF);
MotorSpeed(0,0);
tmp = 0;
if (sw & 0x01)
MotorSpeed(200,0);
if (sw & 0x02) {
BackLED(OFF,ON);
tmp = ON;
}
if (sw & 0x04)
BackLED(ON,tmp);
if (sw & 0x08)
FrontLED(ON);
if (sw & 0x10)
RED_LED_ON;
if (sw & 0x20)
GREEN_LED_ON;
}
Warum die Zuordnung Taste-Wert scheinbar verkehrtrum ist wissen nur die asuro-Götter. Das hängt vermutlich irgendwie mit der Widerstandsabstufung ( 2-4-8-16-33-68k zum 1k?) und dem eingelesen Wert zusammen.
[Edit2]
Das war einmal, im Moment sieht er so aus.
Lesezeichen