Строки
- Войдите на сайт для отправки комментариев
Ср, 05/02/2014 - 17:27
Вывожу несколько переменных в com порт примерно так:
Serial.print("SN:"); Serial.print(num_package); Serial.print(";"); Serial.print("PRS="); Serial.print(press); Serial.print(";"); Serial.print("TMP="); Serial.print(temp); Serial.print(";"); Serial.print("ALT_BAR="); Serial.print(alt_bar); Serial.print(";"); Serial.println();
а хотелось бы так:
char* sn_str = "SN:" + num_package + ";PRS=" + press + ";TMP=" + temp + "ALT_BAR=" + alt_bar ";";
но так не работает:
error: invalid operands of types 'const char*' and 'const char [6]' to binary 'operator+'
пробывал так:
float press = 1.1, temp = 1.2, alt_bar = 1.3; char report[80]; snprintf(report, sizeof(report), "SN:%6d; %6d; %6d;", press, temp, alt_bar); Serial.println(report);
видемо самый рациональный способ, но в сериал выдает
SN:-13107; 16268; -26214;
подскажите как сделать лучше?
вещественные переменные вы через sprintf не выведете, не сработает. надо выводить отдельно целую и дробную части как целые числа, а между ними - точку
подскажите как сделать лучше?
обычно самый лучши способ это тот, который работает. чем не устраивает вариант, который вы сначала привели?
а хотелось бы так:
Ну так пожалуйста String
обычно самый лучши способ это тот, который работает. чем не устраивает вариант, который вы сначала привели?
Тем что мне нужна на выходе одна переменная (sn_str), я ее потом в функцию засовываю=)
Ну так пожалуйста String
String sn_str = "SN:" + num_package + ";PRS=" + press + ";TMP=" + temp + "ALT_BAR=" + alt_bar ";";
пробывал, не работает, ошибка:
обычно самый лучши способ это тот, который работает. чем не устраивает вариант, который вы сначала привели?
Тем что мне нужна на выходе одна переменная (sn_str), я ее потом в функцию засовываю=)
Ну так пожалуйста String
String sn_str = "SN:" + num_package + ";PRS=" + press + ";TMP=" + temp + "ALT_BAR=" + alt_bar ";";
пробывал, не работает, ошибка:
выдает
и куча " note: StringSumHelper& operator+(const StringSumHelper&, unsigned char) "
выдает:
Попробывал так:
на выходе получил
Почему так?
Попробывал так:
попробОвал
Наверное, потому, что приведение типа (char) вырывает из переменной типа float только один первый байт.