Как защитить буфер Serial1 от переполнения?
- Войдите на сайт для отправки комментариев
Чт, 06/10/2016 - 00:57
То ли я по-прежнему не догоняю, то ли что, но перед каждой операцией приёма данных приходится читать Serial. Иначе новые данные в него не пишутся и вообще происходит какая-то хрень. Помогите решить проблему.
Я вчера машину заводил, так был какой-то странный звук. Толком не понял, то ли из машины, то ли у соседа свинья хрюкнула, но звук странный. Не подскажешь чего в машине посмотреть?
То ли я по-прежнему не догоняю, то ли что, но перед каждой стиркой приходится вынимать белье из стиральной машины. Иначе новое белье в него не влазиет и вообще происходит какая-то хрень. Помогите решить проблему.
Адово плюсую, товарищи!
Я уже замучился с Serial, поэтому прошу простить.
Попытаюсь ещё раз.
Задача: Получать данные через GPRS-модуль.
Проблема, как я её понимаю: модем отвечает на любые команды и в конце концов эти команды, как я понимаю, забивают буфер Serial.
Происходит это оттого, что Arduino их не читает, ибо мне, вроде как, эти данные ни к чему.
Итог: Буфер забит, новые сообщения Serial не принимает. Нигде не нашёл иформации на этот счёт. Хелп!
А поставьте } в строке 65
А поставьте } в строке 65
Да Вы просто кудесник! Только что ставил - не помогало. А сейчас помогло!
С фигурными скобками разберитесь.
А с сериалом - ну и что, что Вам данные не нужны - вычитывать их всё равно надо. Вычитывайте.
Ну вот уже вычитываю и даже приладил это к делу, но почему-то теперь программа не возвращает мне в serial строку, которую я читаю из FTP
если не ошибаюсь команда flush периодически нужна. проверяем если ли данные, если да очищаем
если не ошибаюсь команда flush периодически нужна. проверяем если ли данные, если да очищаем
Программа у Вас секретная, кроме Вас её никто в нормальном, компилируемом виде не видел, так что разбирайтесь сами. (кстати, мой первый пост Вы должны были понять именно так - ниформации нкикакой и что мы можем сказать?, но Вы не поняли)
ЕвгенийП ты меня с ТС не путай)))
если не ошибаюсь команда flush периодически нужна. проверяем если ли данные, если да очищаем
Думаю, ошибаетесь. У Serial нет команды очистки буфера, к сожалению. flush раньше очищал, но потом решили, что это баг и теперь он так не делает.
у Вас секретная, кроме Вас её никто в нормальном, компилируемом виде не видел
Не понял. Как это не видел? Вот я сейчас добавил эту скобку и скетч трудится, ардуино в порт ответы шлёт. Только вот к FTP подключаться, кажется, расхотел.
Откуда мне знать куда Вы её добавили?
Нормально компилируемую программу никто, кроме Вас не видел.
Откуда мне знать куда Вы её добавили?
Нормально компилируемую программу никто, кроме Вас не видел.
Пожалуйста! Вот компилируемый код. Теперь вопрос: почему у меня не получается достать нужные числа из строки?
Код должен возвращать два числа из файла на FTP, а возвращает число 7(размер файла) и первое число из файла.
Куда возвращать? Обратно на FTP?
Куда возвращать? Обратно на FTP?
В переменные channel и value соответственно.
1. Никогда не работайте вслепую. Ваши переменные долждны быть выведены в Serial для контроля СРАЗУ после строк 59-60 безо всякого DMX - сразу.
2. А что у Вас рельно приходит по FTP? Это файл? Посмотритеь на него можно?