Hallo
Wenn du mit SerRead() Zeichen über die serielle Schnittstelle liest, dann sind das ascii-Zeichen. Die Codes für die Ziffern liegen dabei zwischen 0x30 für '0' und 0x39 für '9'. Man muss also 0x30 oder '0' vom ascii-Code abziehen um den Wert der Stelle zu erhalten. Um von drei gesendeten Zeichen auf eine dreistellige Zahl zu kommen verwendet man deshalb Formeln wie diese:
(Zeichen1 - '0') * 100 + (Zeichen2 - '0') * 10 + (Zeichen3 - '0')
PHP-Code:
BackLED(ON,OFF);
Sleep((l[0] - '0') * 100 + (l[1] - '0') * 10 + (l[2] - '0'));
BackLED(OFF,OFF);
Sleep(72);Sleep(144);Sleep(144);Sleep(144);Sleep(144);Sleep(144);Sleep(144);Sleep(144);Sleep(144);Sleep(144); // 19ms Pause
l ist ein ungünstig gewählter Name für Variablen.
Gruß
mic
Lesezeichen