Проблема с выводом строки в порт
- Войдите на сайт для отправки комментариев
Пнд, 05/05/2014 - 00:09
Друзья, подскажите плизз способ реализации вывода строки в порт с использованием Serial.print или Serial.write, что бы в порт не передовался символ конца строки.
Из доков - Текстовые строки в Ардуино объявляются как массив (array) типа char (символов - литер), оканчивающийся символом "конца строки".
Так вот, мне этот символ всю картину портит ))) Предполагаю что как то можно уменьшить массив на один последний байт.
символ конца строки 0x00 - вы его имеете ввиду ? Тогда нужно передавать строки фиксированной длины char[5] str = "12345"; Если строка меньше размера переменной то используется 0x00 для оьозначения ее конца. В противном случае вы будете получать в переменной данные принадлежащие другим переменным.
а обрезать уже имеющуюся строку как то можно. Посмотрел "монитором" символ конца строки у меня char(13)
сейчас сделал несколько проверок char(13) выводится в конце всех строк
Получилось исправить проблему так
Вообще это не символ конца строки это перевод строки "\n" называемый еще <LN> - по нему программы определяют конец передачи данных и приступают к их обработке, если данные накапливаются в буфер перед обработкой. но если обрабатывать каждый байт отдельно - то в нем нет особой необходимости.