|
Пример для LPC2106, нужен пример для LPC2106 |
|
|
|
Jul 19 2006, 07:05
|
Группа: Новичок
Сообщений: 10
Регистрация: 26-02-06
Из: Россия, Москва
Пользователь №: 14 695

|
Господа, киньте, пожалуйста, примером на lpc2106 (на C или ASM) инициализации и работы с индикатором
Индикатор двухстрочный (типа мэлтовского MT16S2D), режим работы - 4-х битный. Если что: overthrash (a) mail . ru
--------------------
// OveR
|
|
|
|
|
 |
Ответов
|
Jul 19 2006, 08:02
|

Гуру
     
Группа: Свой
Сообщений: 13 372
Регистрация: 27-11-04
Из: Riga, Latvia
Пользователь №: 1 244

|
Цитата(:OveR: @ Jul 19 2006, 10:05)  .. киньте, пожалуйста, примером на lpc2106 (на C или ASM) инициализации и работы с индикатором Пожалуйста, не сочтите за труд воспользоваться поиском. Даже на данном форуме Вы найдете не менее дюжины примеров подходящих под категорию просимого. Другое дело, что все просмотренные в свое время мной представляют достаточно печальное зрелище :-(, но в определенных условиях с определенными ограничениями очевидно работоспособны. Если Вам нужно не для "абы заработало", то рекомендую: - изучить документацию на контроллер/контроллеры; - просмотреть найденные исходники; - попробовать написать свое в меру своего разумения и своих потребностей.
--------------------
Feci, quod potui, faciant meliora potentes
|
|
|
|
|
Jul 19 2006, 09:50
|
Группа: Новичок
Сообщений: 10
Регистрация: 26-02-06
Из: Россия, Москва
Пользователь №: 14 695

|
Цитата(zltigo @ Jul 19 2006, 12:02)  Пожалуйста, не сочтите за труд воспользоваться поиском. Даже на данном форуме Вы найдете не менее дюжины примеров подходящих под категорию просимого. Другое дело, что все просмотренные в свое время мной представляют достаточно печальное зрелище :-(, но в определенных условиях с определенными ограничениями очевидно работоспособны. Если Вам нужно не для "абы заработало", то рекомендую: - изучить документацию на контроллер/контроллеры; - просмотреть найденные исходники; - попробовать написать свое в меру своего разумения и своих потребностей. На данном форуме не нашел (может плохо искал, но комбинаций слов и поисковых фраз было больше двух десятков). Если Вы укажете поисковые фразы/слова, по которым найдутся примеры - буду премного благодарен. Далее. Описание индикатора и его контроллера посмотрел. Алгоритм инициализации есть (он и был до обращения сюда). К сообщению прикрепил исходник. Код неоптимизирован, для простоты расписано как можно подробнее и проще. Буду благодарен, если кто-нибудь укажет в коде на ошибки (может вообще надо по-другому). =) P.S. А такой же алгоритм (написанный в другом ассемблере, ессно) работает на msp430f149 и с индикатором MT-16S2D. А на lpc2106 индикатор ведет себя так: после включения на индикаторе высвечивается верхняя строка полностью (просто высвечены знакоместа сколько-то на сколько-то пикселей). И все. Перенос вызова подпрограмм в цикл (т.е. постоянное обновление на индикаторе символов в разных местах) результата не дал.
Прикрепленные файлы
main.txt ( 7.41 килобайт )
Кол-во скачиваний: 93
--------------------
// OveR
|
|
|
|
|
Jul 19 2006, 10:26
|

Гуру
     
Группа: Модераторы
Сообщений: 8 455
Регистрация: 15-05-06
Из: Рига, Латвия
Пользователь №: 17 095

|
Цитата(:OveR: @ Jul 19 2006, 12:50)  P.S. А такой же алгоритм (написанный в другом ассемблере, ессно) работает на msp430f149 и с индикатором MT-16S2D. А на lpc2106 индикатор ведет себя так: после включения на индикаторе высвечивается верхняя строка полностью (просто высвечены знакоместа сколько-то на сколько-то пикселей). И все. Перенос вызова подпрограмм в цикл (т.е. постоянное обновление на индикаторе символов в разных местах) результата не дал. Ой... ассемблер :-( Ну симптомы явно указывают на неправильную инициализацию. Глянул инициализацию: Код ldr r0,=ioset ldr r2,=D45 // установка D4, D5 str r2,[r0]
stmfd sp!,{r14} mov r2,#0x200 // 43,4 мкс bl pause ldmfd sp!,{r14}
ldr r0,=ioclr ldr r2,=LCD_IOALL str r2,[r0] Вижу выставление D4, D5, задержку и сброс всех ножек. Не вижу где здесь выставляется E. Вы пробоваали на симуляторе или в железе пошагово проходить и смотреть что ноги выставляются именно так как надо? После команд =D45 задержки есть, после остальных команд инициализации задержек нет. Индикатор не будет успевать. Задержки 43 мкс при инициализации маловаты. Я делаю (взял в даташите, с тех пор кочуют из проекта в проект): перед началом инициализации 200мс, после первой и второй команд (0x03) по 50мс и после 0x02 200мс. Далее все задержки около 40 мкс.
--------------------
На любой вопрос даю любой ответ"Write code that is guaranteed to work, not code that doesn’t seem to break" ( C++ FAQ)
|
|
|
|
|
Jul 19 2006, 14:13
|
Местный
  
Группа: Свой
Сообщений: 421
Регистрация: 25-12-04
Пользователь №: 1 675

|
Цитата(Сергей Борщ @ Jul 19 2006, 14:26)  Я делаю (взял в даташите, с тех пор кочуют из проекта в проект): перед началом инициализации 200мс, после первой и второй команд (0x03) по 50мс и после 0x02 200мс. Далее все задержки около 40 мкс. Я тоже такую информацию с какого-то ксерокса в 2000г выудил (другой документации по HD44780 тогда не было). Но потом обнаружил, что, например, VFD от Futaba и Noritake (по функционалу полностью идентичные HD44780) вообще такой инициализации при включении не требуют - им тока надо дать "Display On". А на указанной LCD и Powertip кто-нить проверял - инициализация (ну, кроме, есс-но перевода в 4-bit режим) нужна или так работают ?
|
|
|
|
Сообщений в этой теме
:OveR: Пример для LPC2106 Jul 19 2006, 07:05  zltigo Цитата(:OveR: @ Jul 19 2006, 12:5... Jul 19 2006, 10:26   :OveR: Цитата(zltigo @ Jul 19 2006, 14:26) Цитат... Jul 19 2006, 11:23    Сергей Борщ Цитата(:OveR: @ Jul 19 2006, 14:2... Jul 19 2006, 15:31    zltigo Цитата(:OveR: @ Jul 19 2006, 14:2... Jul 19 2006, 16:15 GetSmart Если не лень разбираться, то вот мой. На 60 МГц. Jul 19 2006, 11:27 GetSmart Там кстати ремарки не совпадают с реальной схемой.... Jul 19 2006, 12:03 GetSmart Забыл ашник добавить.
Никто главное не сказал и не... Jul 19 2006, 13:54 rezident Ну ты, GetSmart, даешь! Хоть бы причесал мои ч... Jul 19 2006, 15:38
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|