Не очень понял вопроса.
Чтобы не выводить по одной букве, там есть функция sprintf, вы сами же пишите об этом.
Эта функция выводит на экран текст по формату (параметр функции). (честно говоря только теорию знаю, пока не довелось использовать)
Как записать в программе.
Перевести в секунды.
Для этого создаем доп переменную например
int A;
В коде пишем
A=[число в микросекундах или в чем там у вас] / 1000;
Так же создаем переменную для литров
float L;
Пишем
L=0,0025/(1/A);
(Я правильно понял 1/A?)
Попробуйте для начала формат попроще сделать, может он его не понял.
PulseClocks какого типа у вас? Int?
Да, вы поняли правильно. (насчет орфографии. А насчет математики не знаю, какая там у вас формула. Но, да, чтобы перевести из микросекунд в секунды, очевидно нужно поделить на миллон.)
В первых четырех строках у вас получается число, а функция принимает в качестве аргумента char (символ из таблицы символов).
Для правильного отображения необходимо полученное число преобразовать в строку. Ну или хотя бы в символ, этим занимаются функции itoa, ltoa. (По крайней мере так на ПК, повторяю для AVR такого еще не писал, но думаю не должно быть больших отличий).
Очень удобно в вашем случае формировать именно строку.
Примерно так:
sprintf(буфер строки, "%u%u%u", ((PulseClocks%1000)/100), ((PulseClocks%100)/10), (PulseClocks%10));
Но такие пляски удобны при работе с сегментными индикаторами, в вашем случае гораздо удобнее формировать строку напрямую:
sprintf(буфер строки, "%u", PulseClocks);
Далее буфер посылаем в LCD.
За правильность написания не ручаюсь, давно не использовал.
Gisteresis писал(а):
Примерно так:
sprintf(буфер строки, "%u%u%u", ((PulseClocks%1000)/100), ((PulseClocks%100)/10), (PulseClocks%10));
Но такие пляски удобны при работе с сегментными индикаторами, в вашем случае гораздо удобнее формировать строку напрямую:
sprintf(буфер строки, "%u", PulseClocks);
Вроде что то стало получаться, первую часть я высчитал.