grach41 0 12 августа, 2007 Опубликовано 12 августа, 2007 (изменено) · Жалоба В “большом” С существуют функции форматированного вывода строк например printf(); ……. Которыми можно классно работать со строками вывода на экран. В CVavr тоже есть такая функция, но как её “подцепить” к LCD я не сообразил. А задача у меня простая, организовать вывод несколько полей переменных с незначившими 0 в впереди на LCD. Изменено 12 августа, 2007 пользователем grach41 Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Petka 0 12 августа, 2007 Опубликовано 12 августа, 2007 · Жалоба В “большом” С существуют функции форматированного вывода строк например printf(); ……. Которыми можно классно работать со строками вывода на экран. В CVavr тоже есть такая функция, но как её “подцепить” к LCD я не сообразил. А задача у меня простая, организовать вывод несколько полей переменных с незначившими 0 в впереди на LCD. Легко, для этого надо переопредилить функцию putchar. грубо говоря надо написать: void putchar(char ch){ lcd_putchar(ch); } Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Quasar 20 12 августа, 2007 Опубликовано 12 августа, 2007 · Жалоба Ну либо: static void (*rputchar)(unsigned char c); void rprintfInit(void (*putchar_func)(unsigned char c)) { rputchar = putchar_func; } void rprintfChar(unsigned char c) { rputchar(c); } Тогда при инициализации: rprintfInit(lcd_putchar); И печатаем, что хотим :) rprintfChar('Y'); . . . Так сделано например в AVRlib. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
ALexx 0 13 августа, 2007 Опубликовано 13 августа, 2007 · Жалоба В ”большом” С существуют функции форматированного вывода строк например printf(); ……. Которыми можно классно работать со строками вывода на экран. В CVavr тоже есть такая функция, но как её ”подцепить” к LCD я не сообразил. А задача у меня простая, организовать вывод несколько полей переменных с незначившими 0 в впереди на LCD. Можно в 2 этапа. Предполагается, что у Вас уже есть функции вывода строки на ЖКИ или используются встроенные в CV функции работы с индикатором. 1) Используете библиотечную функцию форматированного вывода в СТРОКУ: // описание переменных unsigned char n; char str[20]; ............... n=sprintf(str,"Result=%04d",result); 2) Отправляете n символов строки str на ЖКИ с помощью своей функции. Или используете функцию void lcd_puts(char *str) из библиотеки lcd КодВижна: lcd_puts(str); Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
GDI 0 13 августа, 2007 Опубликовано 13 августа, 2007 · Жалоба В CV есть примеры программ, работающих с выводом на ЖКИ, они находятся в папке examples там уже все сделано, надо только изменить пример под собственные нужды. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
grach41 0 13 августа, 2007 Опубликовано 13 августа, 2007 · Жалоба Благодарю за помощь. Пока работает в эмуляторе с функцией sprintf(). Попробую в “железе”. Сколько раз говорил читайте HELPы и сам нарвался. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться