В строке появляется лишний символ /n
- Войдите на сайт для отправки комментариев
Ср, 04/10/2017 - 09:15
Команду по WiFi принимает esp-07 отдает ардуине, та обрабатывает отдает ответ обратно через SoftwareSerial, esp-07 добавляет перед началом команды свой IP адрес и отправляет по WiFi
String msg = ""; char c; void loop() { if (!client.connected()) { client = server.available(); } else { while (client.available()) { Serial.write(client.read()); } String header = '@'+WiFi.localIP().toString() +';'; //добавим IP с символами разделителями while (Serial.available()) { c = Serial.read(); msg = msg + c; //соберем команду от ардуины if (c == '\r') { msg = header+msg; client.print(msg); msg = ""; c=0;} } } }
но компьютер принимает строку @192.168.1.1;<LF>255;255;255;ping<LF><CR> я никак не могу понять откуда после @192.168.1.1; появляется <LF> и как от него избавиться
А что тут непонятного? В Винде конец строки это два символа <CR><LF>. В своем скетче в строке 14 вы ищете и удаляете символ <CR> (или что то же самое - '\r'). А символ <LF> остается...
Читаем код внимательно
String header =
'@'
+WiFi.localIP().toString() +
';'
; //должно быть "@192.168.1.1;" ................
а клиент принимает @192.168.1.1;<LF>255;255;255;ping<LF><CR> вопрос в том откуда появляется <LF> после "@192.168.1.1;"
ептать, сначало запихал в строку '\r', а потом удивляется откуда оно там
Читай код !ВНИМАТЕЛЬНО! в каком месте "сначало запихал в строку '\r'" ???? и потом я удивляюсь наличию лишнего символа '\n'
ептать, сначало запихал в строку '\r', а потом удивляется откуда оно там
да не туда глянул, пардон
давай весь код, по кускам не разберешься как отправляешь , как header формируется...
есть подозрение что сериал не вычищаешь и там остается символ, который ты потом удачно считываешь первым в msg
по идее он должен быть '\n'.
я никак не могу понять откуда после @192.168.1.1; появляется <LF> и как от него избавиться
1 . Не хами старшим.
2. Появляется из потока ввода,ровно остаток от предыдущего ввода.
3. Как избавиться - самое простое костыль:
вместо:
пишем:
другой вариант, если ты пользуешься сериал-монитором из ИДЕ, то внизу справа поставть "Конец строки" только CR.
Да, все верно, так и оказалось. Согласен по пункту 2 и 3 Всем спасибо тему можно закрыть.
А по пункту 1 не надо разводить "дедовщину" тем более когда "дед" не прав.
я никак не могу понять откуда после @192.168.1.1; появляется <LF> и как от него избавиться
1 . Не хами старшим.
2. Появляется из потока ввода,ровно остаток от предыдущего ввода.
3. Как избавиться - самое простое костыль:
вместо:
пишем:
другой вариант, если ты пользуешься сериал-монитором из ИДЕ, то внизу справа поставть "Конец строки" только CR.
А по пункту 1 не надо разводить "дедовщину" тем более когда "дед" не прав.
А ты чё такой, дерзкий? Ты какого сраёна? ;)
оставь молодого, видимо и не служил, и годков маловато.
мудрость придет сама, в виде белочки или озарения.
когда "дед" не прав.
Хрен-се, фразочка! Духи совсем оборзели!
когда "дед" не прав.
Хрен-се, фразочка! Духи совсем оборзели!
нарисуй ему зубной пастой на лбу "
ЧечняАрдуино - круто!".