реально?
с делал вот так
strtol(asciiHex, NULL, 0);
А ещё один момент, когда я вывожу на экран в формате допусти "%X" он же не меняет сам себя, а только нам отображать да?
printf("%s\n", asciiHex);
не переводить из HEX ASCII в DEC, а потом обратно, а сразу на его уровне прибавить
в Serial2.available() я проверяю всё что мне приходит
вчера работала ,сегодня нет
Ваш код пробую пишет 2А в первую ячейку, голова кругом
Как сделать так, чтобы он не 25, а сразу 19 писал?
Serial.printf("%X\n", decValue);
byte kolchislo[]={0x00,0x00,0x00,0x00,0x00};
razmer=1;// может и 2 и 3 быть, от этого завесить дальнейший размер
char asciiHex[sizeof(kolchislo) + 1];
for(int i = 0;i<razmer;i++){
asciiHex[i]=kolchislo[i];
}
asciiHex[razmer] = 0;
int decValue = strtol(asciiHex, NULL, 16);
decValue++;
Serial.printf("%X\n", decValue);
char asciiHex[razmer];
char asciiHex[sizeof(kolchislo)];
asciiHex[razmer] = 0;
Serial.printf("%X\n", decValue);
Не хочу возиться со всякими dummy узлами
Во-вторых, я использую C
во всех книгах план примерно такой
тип string является вовсе не типом, а классом
ввод/вывод в консольном приложении осуществляется через объекты cin и cout
Для простоты можно сократить входной файл и т.п.
Можно разбить задачу на части и отлаживать каждую часть, как отдельную задачу, добиваясь правильного результата для каждой отдельной части. И т.д и т.п.
Отладочный вывод потом удалите, когда все отладите.
Вместо отладочного вывода можно использовать отладчик, но для вашей задачи, пожалуй, проще будет использовать именно вывод промежуточных результатов.
Чтоб избавиться от вероятных ошибок связанных с использованием типа float, перейдите на тип double. У float очень низкая точность, всего 6-7 значащих десятичных цифр. Из-за этого при интенсивных расчетах с float могут быть не корректные результаты.
Отладитесь с double, перейдете обратно на float (если float вам принципиален) и посмотрите, как изменится результат. С некоторыми ошибками точности можно попробовать побороться, но далеко не со всеми. Это специфика типов с плавающей точкой. У double то же есть свои ограничения по точности (15-17 значащих десятичных цифр), но они гораздо больше, чем у float и обычно точности double хватает.