Цитата(jcxz @ Dec 7 2014, 22:40)

Возможно - у Вас элементарно переполняется стек.
Наблюдал на IAR+CortexM3 использование ~0.5кБ стека при вызове printf-функций.
не простая функция и приглядывать надо при использовании. пользую в 51 процессоре. озу осталось байт 300. сомневаюсь, что использует стек в регистрах, но если народ знает в каком месте print sprintf творит свое черное дело, то милости просим высказаться.
ps вот как только я стал писать параноидально, ручками раскладывая каждый байтик - эффект исчез.
CODE
const char specif[] = "%4.2f\0";
неплохо, но на самом деле же писал что спецификатор надо в ряде случаев менять .
Цитата(psL @ Dec 7 2014, 16:30)

По идее изменение формата sprintf не спасет буфер от поломки
CODE
sprintf(out_line, "%*.*f", digits, decimals, in_val);
вот это интересно