@ru_arduino

Страница 2327 из 7737
Mohammad
26.05.2017
16:37:32
if(c == '\n') { _is_get = true; // _buffer = ""; } else _buffer += c;
Блин. Я не помню как очищался String. Функция clear была?

John
26.05.2017
16:37:40
прикол. про OMEMO на педивикии нет статьи на русском, но есть на украинском :)

Mohammad
26.05.2017
16:38:09
а

Google
Mohammad
26.05.2017
16:38:24
while(!_is_get){ if (Serial.available()) { char c = Serial.read(); // Serial.write(c); _buffer += c; if(c == '\n') { _is_get = true; // _buffer = ""; } } if(_buffer=="AB"){ digitalWrite(ledpin, HIGH); _is_get = false; _buffer=""; } }

Че еще добавить?

Dolphin
26.05.2017
16:38:44
проверь сначала

Petr
26.05.2017
16:39:21
Если прилетит не АБ то бесконечный цикл

Mohammad
26.05.2017
16:39:35
проверь сначала
Так условие для светодиода внутри while или нет?

Или после?

while(!_is_get){ if (Serial.available()) { char c = Serial.read(); // Serial.write(c); _buffer += c; if(c == '\n') { _is_get = true; // _buffer = ""; } } } if(_buffer=="AB"){ digitalWrite(ledpin, HIGH); _is_get = false; _buffer=""; }

Petr
26.05.2017
16:41:07




Так уж лучше организовать обработку команд

Имхо

Dolphin
26.05.2017
16:42:03
if (Serial.available()) { do { c = Serial.read(); _buffer += c; } while (c != '\n') ; if(_buffer=="AB"){ digitalWrite(ledpin, HIGH); _buffer=""; }

char c; - глобально

Google
Dolphin
26.05.2017
16:43:14
да нахуй лишняя ебань ))

Petr
26.05.2017
16:43:47
Нууу

Зато мой вариант ЭНТЕРПРАЙЗНЕЕ

:)

Mohammad
26.05.2017
16:44:14
while(!_is_get){ if (Serial.available()) { char c = Serial.read(); // Serial.write(c); _buffer += c; if(c == '\n') { _is_get = true; // _buffer = ""; } } } if(_buffer=="AB"){ digitalWrite(ledpin, HIGH); _is_get = false; _buffer=""; }

Это не работает

Dolphin
26.05.2017
16:46:03
мой работает

Mohammad
26.05.2017
16:46:25
мой работает
Ты через терминал от ардуино?

Dolphin
26.05.2017
16:46:33
не, компилируется )

Th0r
26.05.2017
16:46:45
а если сперва ввести не AB, то когда буфер очистится?

Mohammad
26.05.2017
16:47:06
не, компилируется )
У меня компилируется

не, компилируется )
Но светодиод не работает

Посылаю в приложении

Dolphin
26.05.2017
16:47:30
правильно

=="AB\n"

Petr
26.05.2017
16:47:53
Блин

Dolphin
26.05.2017
16:48:02
Я же говорил )

Petr
26.05.2017
16:48:06
Дельфин, если у него и так ардуиновский стринг

Google
Dolphin
26.05.2017
16:48:16
а епт

Petr
26.05.2017
16:48:21
То почему не startsWith или как его

Mohammad
26.05.2017
16:48:28
=="AB\n"
Так ты же стираешь \n

Dolphin
26.05.2017
16:48:29
ну да, я же говорил что у меня пол третьего ночи ?

блиадь

Mohammad
26.05.2017
16:49:50
Епстр. Че делать. Нормальных примеров не нахожу с qt для передачи слова

Dolphin
26.05.2017
16:50:11
ща

сек

Petr
26.05.2017
16:50:14
Сделай чтобы с ардуиновским портом работало

Сначала

Mohammad
26.05.2017
16:51:02
Сделай чтобы с ардуиновским портом работало
Ты про ардуиновский терминал? Там работать будет

Petr
26.05.2017
16:51:21
Ты про ардуиновский терминал? Там работать будет
тогда у тебя с кутэ проблемы блин

Mohammad
26.05.2017
16:51:26
А хотя нет

И на терминале

Dolphin
26.05.2017
16:53:11
на леонардо леды на каких пинах? ))

Mohammad
26.05.2017
16:53:37
у меня уно. Использую 13

Petr
26.05.2017
16:54:18
Гм

Глобальный

Google
Petr
26.05.2017
16:55:40
BOARD_LED или чот такое

Mohammad
26.05.2017
16:55:57
//const int timeout=10; int ledpin = 13; String _buffer=""; bool _is_get = false; void setup() { Serial.begin(9600); pinMode(ledpin, OUTPUT); } void loop() { while(!_is_get){ if (Serial.available()) { char c = Serial.read(); // Serial.write(c); _buffer += c; if(c == '\n') { _is_get = true; // _buffer = ""; } } } if(_buffer=="AB"){ digitalWrite(ledpin, HIGH); _is_get = false; _buffer=""; } }

Даже на ардуино не работает

Потому что с цикла не выходит по ходу

Dolphin
26.05.2017
16:57:56
не хавает

Petr
26.05.2017
16:58:02
Dolphin
26.05.2017
17:00:58
int RXLED = 17; // The RX LED has a defined Arduino pin

Admin
ERROR: S client not available

Dolphin
26.05.2017
17:01:00
пиздец )

Petr
26.05.2017
17:01:29
Вообще у тебя поди стоит в настройках <CR> <NL>, т.е. добавляется \r \n,а ты отбрасываешь только ньюлайн

пиздец )
Почему? Это жи Леонарда

Dolphin
26.05.2017
17:01:52
про микро

с прошивкой леонардо

оказывается :D

Petr
26.05.2017
17:02:08
Не су

Эм

Камень один

Идентично все

Mohammad
26.05.2017
17:07:45
Может в гитхабе примерчик найду. Спасибо всем. Если поможете с этим, то можем договориться как-нибудь и я оплачу

Google
Mohammad
26.05.2017
17:17:48
Можешь код прислать?

Petr
26.05.2017
17:18:57
Сломается на кэрриадж ретюрн

Mohammad
26.05.2017
17:19:05
2 раза используешь "с=Serial.read()"?

Dolphin
26.05.2017
17:19:24
Сломается на кэрриадж ретюрн
Да бошка не варит, лень нормально писать

Petr
26.05.2017
17:19:46
Если буфер стрингу, точно б не проверять чо начинается с команды просто

Dolphin
26.05.2017
17:19:46
2 раза используешь "с=Serial.read()"?
при входе в цикл нужно уже считать первый символ

Dolphin
26.05.2017
17:20:18
от балды писал ну

Petr
26.05.2017
17:20:24
С ду-вайлом красиво

Dolphin
26.05.2017
17:20:26
ацтань 3:20

С ду-вайлом красиво
там проблема с управляющими

надо все обрабатывать тогда )

Petr
26.05.2017
17:21:10
if(_buffer.startsWith("AB")){

Dolphin
26.05.2017
17:22:42
String _buffer; char c; void setup() { Serial.begin(250000); } void loop() { if (Serial.available()) { do { c = Serial.read(); _buffer += c; } while (c != '\n') ; Serial.println(_buffer); } if(_buffer.startsWith("AB")) Serial.println("ON"); if(_buffer.startsWith("BA")) Serial.println("OFF"); _buffer=""; }

работает

Petr
26.05.2017
17:24:27
Dolphin гуд найт

Dolphin
26.05.2017
17:24:36
Сенькью :)

Dolphin гуд найт
void loop() { if (Serial.available()) while ((c = Serial.read()) != '\n') _buffer += c; if(_buffer.startsWith("AB")) Serial.println("ON"); if(_buffer.startsWith("BA")) Serial.println("OFF"); _buffer=""; }

:3

Страница 2327 из 7737