Передача данных с целым значением и символами
- Войдите на сайт для отправки комментариев
Пнд, 07/11/2016 - 15:19
Необходимо проверять целостность дошедших до приложения данных. Как сформировать строку вида ("[("+data+")]") и отправить её при помощи Serial.println()? data - переменная типа int.
Ну, есть 100500 способов.
Можно при помощи класса String, если оперативной памяти не жалко.
Можно при помощи функции sprintf (или sprintf_P) если не жалко памяти программы
А если жалко и того и другого, можно при помощи функций itoa, и strcpy.
Ссылки у Вас есть, изучайте, выбирайте как Вам лучше и делайте.
Благодарю.
К сожалению, приходят [(0)]. Пробовал при помощи функции itoa и класса String.
Значит, не так пробовали. Скетч не покажете? Секрет?
В первом топике Вы писали про int, а теперь, оказывается foat, который Вы как-то уж больно нагло к int преобразовываете.
По сути.
1) вторая часть совсем не в дугу, это не так делается. Зачем Вы туда String вообще приплели? Я же говорил Вам, что String - это когда памяти не жалко, а itoa / str??? - когда память нужно беречь. А Вы всё в кучу слили. Сейчас покажу, как это делается. В течение получас-часа доберусь до ардуины и выложу.
2) первая часть так на глаз должны нормально работать, сейчас проверю.
Общее:
для отладки всегда печатайте информацию ДО преобразования И после. Т.е. в данном случае Вам надо было ещё напчечатать еще и
int
(dist_cm)
. Стало бы намного виднее. Напрмер, Вы говорите, что нули получаются. Так вот, я думаю, что у Васint
(dist_cm)
равно 0.Ладно, сейчас доберусь и что-нибудь выложу.
Вот, держите примеры. Что-то я прокомментировал, но если что, читайте описания использованных функций и разбирайтесь.
Как я уже говорил, здесь три способа. Существует ещё 100500-3 других. Дело-то несложное, просто бояться не надо.
Спасибо за примеры. Разобрался. Кстати, по поводу нулей: видимо, это из-за того, что датчику не хватало питания. Подключил к ПК и нулей больше нет.
по поводу нулей: видимо, это из-за того, что датчику не хватало питания. Подключил к ПК и нулей больше нет.
Вот и я про то. При отладке печатать надо в начале (срызу после получения с датчика) и после преобразования. Тогда намного всё диднее. А Вы в начале не печатали и получили проблему на ровном месте. Привыкайте.