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

4 битный режим LCD в AVR Studio

Доброе время суток всем. Работаю с AVR недавно и начинал с CodeVisionAVR, там проблем особых не было, но пришлось перебраться на AVR Studio, поскольку для этого компилятора больше библиотек. Столкнулся с такой проблемой: не работает 4 битный режим для текстового LCD. Причём не работает при использовании встроеной библиотеки, не работают так же и примеры имеющиеся в студии. Причём 8 битный режим работает без проблем, но он неприемлем из-за ограничености кол-ва ног. Модель в Протеусе вообще ничего на экран не выводит, а на железе мусор всякий на экране. Модель в Протеусе и железо правильные с CodeVision без проблем. Интуитивно понимаю, что проблемма вероятно с длительностью задержек. В настройках частоты и тип проца выставил правильно специально 10 раз перепроверил всё и результат один.

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

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


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

AVR STUDIO не компилятор,он на макроассемблер не очень-то тянет.И под него много библиотек?Удиви

тельно :blink: Советую вернуться обратно на какой-нить сишный компилер-там библиотек действительно море,а асм использовать только в случае необходимости.

З.Ы. возьмите библиотечный пример инициализации 4-разрядного LCD хоть с того-же кодвижина или тут-же на подфоруме исходников, откомпилируйте и посмотрите,что там асме получается,если вам так интересно.

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


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

AVR STUDIO не компилятор,он на макроассемблер не очень-то тянет.И под него много библиотек?Удиви

тельно :blink: Советую вернуться обратно на какой-нить сишный компилер

 

Извиняюсь за неточность. AVR Studio действительно не является компилятором С, для С он использует GNU GCC compiler for C and C++. Дак вот проблема с этим компилятором, а AVR Studio это оболочка в данном случае.

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


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

Какой конкректно "встроенной библиотекой" для текстового LCD вы пользуетесь?

Ни в avr-gcc, ни в avr-libc нету никаких библиотек для текстового LCD. В avr-libc есть только пример он как я понял у вас тоже не работает.

 

И пожалуйста сообщите ваши версии WINAVR и avr-gcc.

 

Анатолий.

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


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

Мне тоже импонирует CVAVR в части работы с LCD. Но не устроило то, что мастер ноги LCD подключает сам. Это не всегда приемлемо, ограничивает конструкторскую инициативу, возникает необходимость переброски. Может кто делал что подобное? Вот бы написать хидер, чтоб прям в тексте программы можно было ноги под LCD переназначить. Кто грамотнее меня, может поможете с решением этой проблемы? Буду безмерно признателен!

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


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

Мне тоже импонирует CVAVR в части работы с LCD. Но не устроило то, что мастер ноги LCD подключает сам. Это не всегда приемлемо, ограничивает конструкторскую инициативу, возникает необходимость переброски. Может кто делал что подобное? Вот бы написать хидер, чтоб прям в тексте программы можно было ноги под LCD переназначить. Кто грамотнее меня, может поможете с решением этой проблемы? Буду безмерно признателен!

Вот здесь решили эту проблему. Может и для Вас подойдет.

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


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

Какой конкректно "встроенной библиотекой" для текстового LCD вы пользуетесь?

Ни в avr-gcc, ни в avr-libc нету никаких библиотек для текстового LCD. В avr-libc есть только пример он как я понял у вас тоже не работает.

 

И пожалуйста сообщите ваши версии WINAVR и avr-gcc.

 

Анатолий.

 

Встроенная библиотека есть в оболочке AtmanAVR C IDE 8.8.0 Built date 23 сентября 2006. Он использует компилятор AVRGCC 4.1.1

AVRStudio V4.12 SP4 Build 498 использует avr-gcc 3.4.6

 

Пример не работает из AtmanAVR. Для работы с LCD в AVRStudio использовал стороннюю библиотеку AVRlib (URL=http://www.procyonengineering.com). Их пример тоже не работоспособен.

Я не верю что такие продукты могли выйти с неработающими библиотеками, но у меня не выходит ничего. Хотя использование крайне простое: указать порты и режим (4 бита или 8), инициализация и всё .... облом в моём случае.

 

Кстати AVRlib позволяет выбирать ноги к которым подключается LCD.

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


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

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

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

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

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

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

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

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

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

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