Пытаюсь понять каким образом мне лучше прочитать эти данные, затем извлечь из них некоторые параметры (например 2,3 и 5), изменить их необходимым мне образом (например, умножить на некоторый коэффициент), а затем - собрать данную строку обратно и последовательно отправить такую же строку, но с изменёнными данными.
Кода не будет поскольку я в полном тупике. Буду рад если, хотя-бы, направите в нужное русло т.к. я перепробовал многое из того, что предлагают в сети, но получал, в лучшем случае, извлечение всех параметров подряд, и то, с ошибками.
К примеру мне нужно изменить только 1074, 1108, и 21450.
Конкретную строку я привёл. Из неё нужно извлечь данные которые разделены запятой. Их умножаем на заданный коэффициент. Собраем обратно ТАКУЮ же строку:
SA8I,1074,1108,1045,21450,0003456789,0000343434
Жирным выделил данные которые мы изменили. Остально - не меняется.
По поводу “что не так” - я не на том уровне, чтобы с этим работать + данные методы постоянно выдают “левые” данные: находят дополнительные значения и т.д.
Какие именно “данные методы” и какие “левые данные” и “дополнительные значения” они выдают?
Пример(ы), пожалуйста, с кодом.
Не знаю, какие у Вас там “данные методы”, но если взять самый обыкновенный strtok, разрезать строку по запятым, отработать и склеить обратно, никаких левых и дополнительных значений никто и нигде не найдёт.
Какая программа выводит эти данные?
Я просто до умопомрачения уверен, что датчик шлёт не строковые данные. Это сильно затратно и ни к чему. Он должен слать обычные байты данных…
Не, ну нельзя же не согласиться, что это добавляет в жизнь немного красок и приключений. Сначала данные надо преобразовать к строковому виду, затем обратно. Желательно не особо при этом наляпать – жизнь! А так … принял байт, отправил байт – тоска смертная.
Может у датчика на борту контроллер? ТС а чем ловите данные? Там точно протокол, или просто на аналогвом входе? С Датчиков левых данных не должно быть. Думаю, что это курсовая, а датчик просто прицепом к слову.