|
0 / -1 / 0
Регистрация: 03.04.2017
Сообщений: 63
|
|
LCD 1602 инициализация только после Reset11.04.2017, 15:54. Показов 20214. Ответов 77
Метки нет (Все метки)
Доброго времени суток.
Чрезвычайно удивляет ситуация, которая сложилась у меня с моим девайсом. Требуется совет. Имею в девайсе экранчик LCD типа 1602 (какой то китайский друг), подключается по 4х битной шине. Последовательность инициализации коротко: Настраиваем порт; Ждем 20 мс; Разрядность шины = 8 бит ($3); NOP ($0 - это для случая, если экран был инициализирован под 4-х битную разрядность: переводим обратно в 8-битный режим); Ждем 4.1 мс; Разрядность шины = 8 бит ($3); Ждем 100 мкс; Разрядность шины = 4 Бит ($2); Ждем; Разрядность шины = 4 Бит ($2); + размер символа ($8) Очистка; Ждем 5 мс; Проблема в следующем. При включении питания экран не инициализируется. Первая строка залита черными квадратами. Если микроконтроллер сбросить, инициализация и вывод на экран проходит в штатном режиме. Пробовал увеличивать время первоначального ожидания (фактически делал остановку, пока не будет нажата кнопка, выжидал секунды). Пробовал садить RESET контроллера на ноль, после этого подавать питание, немного погодя отпускать RESET - та же история. Пробовал увеличивать все задержки по максимуму (1,5 мс - строб = 1 - 1,5 мс - строб = 0 - 1,5 мс), не помогает. То, что дисплей после сброса работает четко, наталкивает на мысль, что выдержки я выбрал правильно. Не понятно, почему заводится только после ресета... P.S. В протеусе всё ОК.
0
|
|
| 11.04.2017, 15:54 | |
|
Ответы с готовыми решениями:
77
I2C и LCD 1602 STM32F030F4 + 74HC595 + 1602 LCD
|
|
0 / -1 / 0
Регистрация: 03.04.2017
Сообщений: 63
|
|
| 11.04.2017, 16:03 [ТС] | |
|
Rius, вы имеете ввиду отправить команду LCD=OFF, инициализация, команда LCD=ON ?
0
|
|
|
0 / -1 / 0
Регистрация: 03.04.2017
Сообщений: 63
|
|
| 11.04.2017, 16:05 [ТС] | |
|
Rius, во время включения LCD по-умолчанию находится в 8-битном режиме. Как же мне отправлять команду 0x08 ?
0
|
|
|
0 / -1 / 0
Регистрация: 03.04.2017
Сообщений: 63
|
|
| 11.04.2017, 16:09 [ТС] | |
|
Ну, младшие 4 разряда шины сидят на нуле. Мне всё равно нужно сначала в 4-х битный режим перевести.
0
|
|
|
0 / -1 / 0
Регистрация: 03.04.2017
Сообщений: 63
|
|
| 11.04.2017, 16:18 [ТС] | |
|
Так вся настройка и заключается в том, чтобы перевести в 4-х битный режим :-)
Сделал по-другому, убрал всё лишнее. Теперь только перевод в 4-х битный режим. Ждем 20 мс; Разрядность шины = 4 бит ($2); Разрядность шины = 4 Бит ($2); + размер символа ($8) Включение $0c Очистка; Ждем 5 мс; Добавлено через 13 секунд Ничего не изменилось
0
|
|
|
|
||||||
| 11.04.2017, 16:18 | ||||||
|
Вот такое когда-то писал. Работало стабильно.
0
|
||||||
|
0 / -1 / 0
Регистрация: 03.04.2017
Сообщений: 63
|
|
| 11.04.2017, 16:25 [ТС] | |
|
Rius, увы, пишу на ассемблере, не использую флаг Busy (RW вобще не использую), ваш синтаксис не понимаю, что где происходит, какие команды отправляются... вот если бы вы накинули задержки и команды в HEX-е, было бы замечательно
Добавлено через 1 минуту Склоняюсь, всё-таки, к аппаратной проблеме, ибо испробовал различные последовательности инициализации, плюс те что нашел на форумах, плюс друг своей библиотекой поделился, плюс сам ранее писал для этого дисплея, не было проблем ![]() Но всё же не пойму, где искать? Задержка после подачи питания никак не спасает. Добавлено через 1 минуту Смириться тоже не могу, ресет контроллера не выведен, оперирую проводочком и нулевой дорожкой...
0
|
|
|
|
||||||
| 11.04.2017, 16:33 | ||||||
|
А нет, была у меня именно 4 битная шина.
Задержек не использовал. Команд в HEX нет в чистом виде, их много и 3 уровня абстракции) Ожидание в инициализации и в остальных командах выполнял так:
0
|
||||||
|
0 / -1 / 0
Регистрация: 03.04.2017
Сообщений: 63
|
|
| 11.04.2017, 17:08 [ТС] | |
|
Rius, Вы прислали кусок кода чтения флага Busy и адреса в CGRAM, немного не то, чего бы мне хотелось :-) команды в HEX-е я имел ввиду те, которые Вы засылаете в LCD (должны же они быть, если Вы сами писали библиотеку).
Я в своем девайсе не могу читать флаг Busy, потому что ногу R/W LCD посадил на ноль. Ибо никогда ей не пользуюсь.
0
|
|
|
|
|||||||||||||||||||||||||||||||||
| 11.04.2017, 17:17 | |||||||||||||||||||||||||||||||||
|
А этот синтаксис вы говорите, что не понимаете: Кликните здесь для просмотра всего текста
0
|
|||||||||||||||||||||||||||||||||
|
0 / -1 / 0
Регистрация: 03.04.2017
Сообщений: 63
|
|
| 11.04.2017, 17:35 [ТС] | |
|
0
|
|
|
|
||
| 11.04.2017, 17:39 | ||
0
|
||
|
0 / -1 / 0
Регистрация: 03.04.2017
Сообщений: 63
|
|
| 11.04.2017, 17:42 [ТС] | |
|
Rius, вы говорите об удобстве, но никак не о багах. Как я уже писал выше, пробовал ставить задержки заведомо на порядки выше требуемых.
0
|
|
|
|
||
| 11.04.2017, 18:01 | ||
|
И тут советы посмотрите ещё: Графический и текстовый режим дисплеев Winstar.
0
|
||
|
Модератор
8981 / 6748 / 921
Регистрация: 14.02.2011
Сообщений: 23,871
|
||
| 11.04.2017, 18:08 | ||
|
я делал по вот такой схеме http://cxem.net/mc/mc134.php на разных процессорах и с разными дисплеями никогда проблем не было Добавлено через 3 минуты и еще 8битный режим(3) выставляем три раза
0
|
||
|
0 / -1 / 0
Регистрация: 03.04.2017
Сообщений: 63
|
|||
| 11.04.2017, 18:11 [ТС] | |||
|
0
|
|||
| 11.04.2017, 18:11 | |
|
Помогаю со студенческими работами здесь
20
как подружить stm32f4discovery + 16x2 (1602) lcd Вывод слова на LCD 1602 в МК PIC16F628 с помощью C++ Подключение LCD 1602 через I2C к STM32F4 без библиотеки Hal LCD 1602 не работает - подсвечиваются только ячейки первой строки Не находит адрес lcd 1602 Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
| Опции темы | |
|
|
Новые блоги и статьи
|
|||
|
Отчёт о спецтехнике находящейся в ремонте
Maks 20.04.2026
Отчёт из решения ниже размещен в конфигурации КА2.
Задача: отобразить спецтехнику, которая на данный момент находится в ремонте.
Есть нетиповой документ "Заявка на ремонт спецтехники" который. . .
|
Памятка для бота и "визитка" для читателей "Semantic Universe Layer (Слой семантической вселенной)"
Hrethgir 19.04.2026
Сгенерировано для краткого описания по случаю сборки и компиляции скелета серверного приложения. И пусть после этого скажут, что статьи сгенерированные AI - туфта и не интересно. И это не реклама -. . .
|
Запрет удаления строк ТЧ документа при определенном условии
Maks 19.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "Аккумуляторы", разработанного в конфигурации КА2. У данного документа есть ТЧ, в которой в зависимости от прав доступа. . .
|
Модель заражения группы наркоманов
alhaos 17.04.2026
Условия задачи сформулированы тут
Суть:
- Группа наркоманов из 10 человек.
- Только один инфицирован ВИЧ.
- Колются одной иглой.
- Колются раз в день.
- Колются последовательно через. . .
|
|
Мысли в слух. Про "навсегда".
kumehtar 16.04.2026
Подумалось тут, что наверное очень глупо использовать во всяких своих установках понятие "навсегда". Это очень сильное понятие, и я только начинаю понимать край его смысла, не смотря на то что давно. . .
|
My Business CRM
MaGz GoLd 16.04.2026
Всем привет, недавно возникла потребность создать CRM, для личных нужд. Собственно программа предоставляет из себя базу данных клиентов, в которой можно фиксировать звонки, стадии сделки, а также. . .
|
Знаешь почему 90% людей редко бывают счастливыми?
kumehtar 14.04.2026
Потому что они ждут. Ждут выходных, ждут отпуска, ждут удачного момента. . .
а удачный момент так и не приходит.
|
Фиксация колонок в отчете СКД
Maks 14.04.2026
Фиксация колонок в СКД отчета типа Таблица.
Задача: зафиксировать три левых колонки в отчете.
Процедура ПриКомпоновкеРезультата(ДокументРезультат, ДанныеРасшифровки, СтандартнаяОбработка)
/ / . . .
|