Size: a a a

2019 October 10

MJ

Mark Ja in Deus Volt!
Вячеслав П
Может без флоата проще распарсить
Можно по подробней пожалуйста.
источник

MJ

Mark Ja in Deus Volt!
Roman Storozhenko
Лучше юзать snprintf
Пробовал, тожесамое.
источник

RS

Roman Storozhenko in Deus Volt!
Какое значение возвращает snprintf?
источник

MJ

Mark Ja in Deus Volt!
Valentin Kornienko
std::to_string
Это разве не Ц++? Я на Ц пишу.
источник

MJ

Mark Ja in Deus Volt!
Roman Storozhenko
Какое значение возвращает snprintf?
Значение: 0 '\0' я наблюдаю в инлайн дибагере. В юарте ничего.
источник

RS

Roman Storozhenko in Deus Volt!
Mark Ja
Значение: 0 '\0' я наблюдаю в инлайн дибагере. В юарте ничего.
snprintf(tempStr, sizeof(tempStr), "%0.2f", floatValue);
а так?
источник

RS

Roman Storozhenko in Deus Volt!
может у тебя там значение типа 123.66666666(6)
в итоге оно не влезло в строку
источник

MJ

Mark Ja in Deus Volt!
Буфер на 10. Что %3.f %0.2f погоды не делает. Значение напряжения 2.99754.
источник

VK

Valentin Kornienko in Deus Volt!
Mark Ja
Это разве не Ц++? Я на Ц пишу.
C++
источник

MJ

Mark Ja in Deus Volt!
Я могу делать вставки на С++?
источник

VK

Valentin Kornienko in Deus Volt!
А что если просто * 100 , положить в уинт16/уинт32?
источник

VK

Valentin Kornienko in Deus Volt!
Mark Ja
Я могу делать вставки на С++?
Смотря какая среда разработки. Если поддерживается С++17 нормально то можно такую вставку влепить и обернуть в extern"C" в хидере
источник

VK

Valentin Kornienko in Deus Volt!
чтобы name mangling избежать
источник

A

Audaxviator in Deus Volt!
Valentin Kornienko
А что если просто * 100 , положить в уинт16/уинт32?
у меня есть что-то типа такого решения в лоб, если еще надо могу скинуть, при вникании можно расширить количество символов, у меня оно на 5 чисел до запятой и на 2 после, но быстродействием там скорее всего и не пахнет)
источник

A

Audaxviator in Deus Volt!
с переводом в char каждого отдельного
источник

MJ

Mark Ja in Deus Volt!
Valentin Kornienko
Смотря какая среда разработки. Если поддерживается С++17 нормально то можно такую вставку влепить и обернуть в extern"C" в хидере
STM32CubeIDE использую. Если умножать на 100, паковать в юинт16 и конвертировать “sprintf (testvoltagevaluestr, "%u", testvoltagevalue);” то можно получить реальное значение без запятой.
источник

MJ

Mark Ja in Deus Volt!
Audaxviator
у меня есть что-то типа такого решения в лоб, если еще надо могу скинуть, при вникании можно расширить количество символов, у меня оно на 5 чисел до запятой и на 2 после, но быстродействием там скорее всего и не пахнет)
Да, скиньте пожалуйста.
источник

A

Audaxviator in Deus Volt!
источник

A

Audaxviator in Deus Volt!
сори что без коментов,  надеюсь все понятно, если нет напиши позже
источник

RS

Roman Storozhenko in Deus Volt!
Ужас)
аж вспомнил  AVR и программирование на ассемблере
источник