Перейти к содержанию
    

ЖКД + NIOS II

На стартер ките Стратикса IV по требованию нач-ва начал переделывать старый проект, который был без проца под NIOS II. Раньше я проекты под ПЛИС со встроенным процом не делал, поэтому всё делал как в альтеровских примерах. В результате всё работает, кроме одного: двухстрочного 16-символьного LCD. Пробовал как в примерах: lcd = fopen(DISPLAY_NAME, "w"); if (lcd > 0) fprintf(lcd, ...);

Выяснилось, что lcd = 0 и ЖКИ даже не производит начальной загрузки.

При этом ЖКИ однозначно подсоеденен правильно и в старом проекте успешно работал с функцией, написанной на verilog'е. Можно конечно работать с ЖКИ низкоуровнего, но уж очень хочется использовать printf'ы.

Специалисты, помогите!

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

но уж очень хочется использовать printf'ы.

Специалисты, помогите!

 

Я не специалист и конкретно с Вашу конфигурацию железа не использовал. Но использование "низкоуровнего" не запрещает использовать printf. Я бы как раз и делал свое низкоуровневое управление дисплеем - там все просто. Написал бы свою функцию putch вместо стандартоной. Сама стандартная функция printf вызывает функцию putch, уже написаную Вами. При этом можно все организовать с помощью прерываний и не кушать зря процесорное время. А может даже удобней будет использовать функцию sprintf.

 

 

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

...помогите!

Напишите своих функций, это не сложно, а потом подстройтесь под стандартные.

В приложении пример с моими функции для ЖКД из двух строк по 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

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

и где-то описана строка выдачи «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 !!!";

 

А перекодировку делать при выводе. Как по мне - так это гораздо читаемей и редатируемей.

 

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

А перекодировку делать при выводе. Как по мне - так это гораздо читаемей и редатируемей.

Можно и так. Для этого нужно только где-то вставить табличку перекодировки...

Но для старта NiosII+LCD удобней начинать с более простого…

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

×
×
  • Создать...