Передача нескольких данных Bluetooth
- Войдите на сайт для отправки комментариев
Добрый день, уважаемые форумчане!
Передаю из Android-приложения команду в формате String, в Arduino приём осуществляю таким образом:
void loop() { if(mySerial.available()>0) // Если имеются в порту данные { incomingByte = mySerial.read(); // считывание данных if(incomingByte!=-1) // если данные не равны -1 { if(incomingByte == 48){ //Получили "0" movement.to_up(50); }else if(incomingByte == 49){
}
Аргументом метода to_up() и to_down() является целое число, которое указывает расстояние в миллиметрах, на которое должно произойти передвижение. В данном примере это расстояние задаётся внутри скетча Arduino. Приходящая из Android команда указывает только на выбор одного из двух методов.
Теперь возникла необходимость кроме выбора метода из Android ещё выбирать и расстояние. Подскажите пожалуйста, каким образом можно осуществить это?
Если мы будем из Android передавать строку, например "060", где первый символ - выбор метода, оставшиеся - необходимое расстояние, то будем получать такой набор данных: 48 54 48. Каким образом его можно сохранить в памяти устройства и обработать?
P.S. Полный код скетча Arduino и кода для Android не стал приводить, чтобы не раздувать пост.
Ну если прям через строки...
Нафига писать через Альпы
почему так прямо и не написать
?
P.S. Полный ответ на вопрос не стал приводить, чтобы не раздувать пост.
Спасибо за помощь!
Команда состоит из неограниченного набора символов, окончанием команды служит знак '#'. У меня получился такой код, может быть кому-то поможет.
Далее я обработал command, используя методы charAt(), substring(), toInt().
Поправил комментарий:
почему так прямо и не написать
ЕвгенийП, andriano, спасибо! Я понимаю смысл этой записи. Просто когда писал код, тесты проводил с помощью приложения bluetooth terminal, в котором пришедшая строка выводилась в виде массива кодов символов. Делал максимально в лоб, чтобы не допустить ошибки из-за невнимательности. :)