ВходНаше всё Теги codebook 无线电组件 Поиск Опросы Закон Среда
28 января
1567489 Топик полностью
Idler (Вчера, 20:44, просмотров: 45) ответил Eddy_Em на Исходный код printf я не смотрел, так что, вполне возможно, что я не прав. Но на кой черт вообще printf в микроконтроллеры засовывать?
В данном случае, только для наглядности и читабельности. При тактовой до 120МГц я бы не стал, а уж на 8-битках... С АРМом на 240 я решил, что могу себе позволить. Еще неделю назад у меня в проекте всё выводилось своими функциями, но я постепенно перестал понимать, что и куда оно выводит - пол-страницы писанины на одну строчку вывода с двумя числами. 

Надо же и вычислить позицию (в точках), выбрать текстовое окно(слой), выполнить это позиционирование, настроить цвета, напечатать кусочек текста, запомнить текущие координаты, напечатать переменную, следующий кусок текста, опять запомнить координаты, вывести следующую переменную, очистить остаток строки, запустить 2 функции, которые по таймеру будут в запомненных координатах обновлять переменные... С "рамками" из мьютексов снаружи. И всё это укладывается в один printf. Примерно, так:

printf_lcd(LCD_MAIN, 8, -3, COLOR_WHITE, "V_SRC= ►pos_v_src◄%.3fV, V_DRN= ►pos_v_drn◄%.3fV,", (double)((float)V_SRC * 0.001f), (double)((float)V_DRN * 0.001f));

Таких строк около 10. И сразу видно, что под чем, и напротив чего. А было 2 страницы мешанины, в которой хрен разберёшь, где какое-то слово или число, ушедшее на символ в сторону...