Kluwer 0 12 июня, 2012 Опубликовано 12 июня, 2012 · Жалоба На стартер ките Стратикса IV по требованию нач-ва начал переделывать старый проект, который был без проца под NIOS II. Раньше я проекты под ПЛИС со встроенным процом не делал, поэтому всё делал как в альтеровских примерах. В результате всё работает, кроме одного: двухстрочного 16-символьного LCD. Пробовал как в примерах: lcd = fopen(DISPLAY_NAME, "w"); if (lcd > 0) fprintf(lcd, ...); Выяснилось, что lcd = 0 и ЖКИ даже не производит начальной загрузки. При этом ЖКИ однозначно подсоеденен правильно и в старом проекте успешно работал с функцией, написанной на verilog'е. Можно конечно работать с ЖКИ низкоуровнего, но уж очень хочется использовать printf'ы. Специалисты, помогите! Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
barabek 0 12 июня, 2012 Опубликовано 12 июня, 2012 · Жалоба но уж очень хочется использовать printf'ы. Специалисты, помогите! Я не специалист и конкретно с Вашу конфигурацию железа не использовал. Но использование "низкоуровнего" не запрещает использовать printf. Я бы как раз и делал свое низкоуровневое управление дисплеем - там все просто. Написал бы свою функцию putch вместо стандартоной. Сама стандартная функция printf вызывает функцию putch, уже написаную Вами. При этом можно все организовать с помощью прерываний и не кушать зря процесорное время. А может даже удобней будет использовать функцию sprintf. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Serhiy_UA 1 13 июня, 2012 Опубликовано 13 июня, 2012 · Жалоба ...помогите! Напишите своих функций, это не сложно, а потом подстройтесь под стандартные. В приложении пример с моими функции для ЖКД из двух строк по 16 символов. Правда, на стандартные потом уже и не переходил... Инициализация и первое сообщение: int main() { init_LCD(); .......... out_msg_to_LCD((alt_u8 *)&msg3, 0); .......... } и где-то описана строка выдачи «LAN is OK !!!» alt_u8 msg3[]={76,65,78,32,105,115,32,79,75,32,33,33,33,32,32,32}; //LAN is OK !!! А для перекодировки символов в константы уже есть много программ в интернете.. Functions_for_LCD.zip Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
barabek 0 14 июня, 2012 Опубликовано 14 июня, 2012 · Жалоба и где-то описана строка выдачи «LAN is OK !!!» alt_u8 msg3[]={76,65,78,32,105,115,32,79,75,32,33,33,33,32,32,32}; //LAN is OK !!! Это немного не в тему, но все-таки спрошу. А почему нельзя написать alt_u8 msg3[]="LAN is OK !!!"; А перекодировку делать при выводе. Как по мне - так это гораздо читаемей и редатируемей. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Serhiy_UA 1 14 июня, 2012 Опубликовано 14 июня, 2012 · Жалоба А перекодировку делать при выводе. Как по мне - так это гораздо читаемей и редатируемей. Можно и так. Для этого нужно только где-то вставить табличку перекодировки... Но для старта NiosII+LCD удобней начинать с более простого… Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться