Как реализовать обработчик команд из COM порта?
- Войдите на сайт для отправки комментариев
Втр, 22/03/2011 - 09:23
Нужно чтобы Arduino получив команду из COM порта выполнял определенный код.
Нужно чтобы Arduino получив команду из COM порта выполнял определенный код.
Ну как-то так:
int intByte = 0;
void setup()
{
// Открываем сериный порт
Serial.begin(9600);
}
void loop()
{
//если есть что считать
if (Serial.available() > 0) {
//считываем
intByte = Serial.read();
//преобразовываем полученный байт в десятеричное число
int incomingNumber = intAsciiToBinary(intByte);
//проверяем, что получили
switch (incomingNumber)
{
case 1:
// тут выполняется комманда 1
Serial.println('a'); //выводим для наглядности
break;
case 2:
// тут выполняется комманда 2
Serial.println('b');//выводим для наглядности
break;
default:
// тут выполняется для всех остальных случаев
Serial.println(incomingNumber);//выводим для наглядности
}
}
}
int intAsciiToBinary(int intIn)
/*преобразовываем полученный байт в число*/
{
int intTmp=-1; //возвращает -1, если не число
if ((intIn>47) && (intIn<58)) {intTmp=intIn-48;};
return intTmp;
}
Спасибо
для работы с ардуиной через COM-порт рекомендую использовать протокол Firmata :)