|
0 / 0 / 0
Регистрация: 27.04.2012
Сообщений: 71
|
||||||
Инициализация LCD WH1602B [stm32f4]20.05.2012, 15:31. Показов 27657. Ответов 21
Метки нет (Все метки)
Помогите с инициализацией LCD на wh1602
Работаю с stm32f4 discovery Вот код:
После "инициализации" ложу V0 на землю, горит две строки закрашеных квадратов. т.е. дисплей инициализирован. Но при попытке занесения данные ничего не происходит. Даже курсор не моргает. дисплей целый. 100% Что я делаю не правильно?
0
|
||||||
| 20.05.2012, 15:31 | |
|
Ответы с готовыми решениями:
21
STM32F4 + LCD помощник разработчика STM32F4 + Nokia 6300 lcd stm32f4 cmsis задержка для LCD |
|
0 / 0 / 0
Регистрация: 30.01.2011
Сообщений: 335
|
||||||
| 20.05.2012, 17:29 | ||||||
|
Вот держи рабочий код, в твоем ковыряться лень ))))
100% работает в 4-битном режиме. В 8-битном тоже должен, но в железе не тестировался. И там функция задержки вызывается вот такая:
[5.8 Кб]
0
|
||||||
|
0 / 0 / 0
Регистрация: 27.04.2012
Сообщений: 71
|
||||||
| 20.05.2012, 18:00 | ||||||
|
Тоесть не тестировался?
Чтото пока и он не заработал: Использую же правильно?
0
|
||||||
|
0 / 0 / 0
Регистрация: 30.01.2011
Сообщений: 335
|
|
| 20.05.2012, 18:17 | |
|
То есть я только в 4-битном режиме подключал. Не исключаю, что в коде для 8-битного режима могут быть баги.
Если у тебя этот код идет прямо в начале функции main, то поставь вначале задержку эдак миллисекунд на 5 перед wh_init(). А пины правильные подключаешь? У меня там в wh1602.h дефайны прописаны. И кстааати, ты пишешь, что контраст на землю кладешь. Ну так ты ничего и не увидишь кроме черных квадратов. Подай на контраст около 0.5-0.7 вольт. Если нет переменника, то сооруди делитель на обычных резисторах.
0
|
|
|
0 / 0 / 0
Регистрация: 27.04.2012
Сообщений: 71
|
|||||||
| 20.05.2012, 18:44 | |||||||
соорудил добавку из диода. перепутаными пинами день назад крякозяблы повыводил.. такчто это сработало. А вот теперь ничего. Инициализация вроде как проходит, т.е. когда кладу контраст на землю горит 2 полосы, а не одна. А вот символа ни единого! Даже курсора нет. У вас тоже дискавери? зы в распиновке вашей ничего не менял. Сунул старшие биты из шины в указанные пины порта С. pps сделал так:
0
|
|||||||
|
0 / 0 / 0
Регистрация: 30.01.2011
Сообщений: 335
|
|
| 20.05.2012, 18:53 | |
|
Да, у меня дискавери и взлетело всё просто на ура. Были проблемы с инициализацией, но когда с ней разобрался дальше всё пошло как по маслу.
Вот это и удивительнее всего, что у тебя после инициализации проблемы начинаются. Обычно при освоении любой новой детальки, главный головняк - это как раз инициализация. Собственно, у меня вариантов больше нет. Пробуй плясать с бубном (менять частоту проца, пересаживать дисплей на другие пины, еще что в голову придет)
0
|
|
|
0 / 0 / 0
Регистрация: 27.04.2012
Сообщений: 71
|
|
| 20.05.2012, 18:56 | |
|
Можно тогда проект?
Или давай я кину свой.. чтоб уже точно быть уверенным в коде. Уже просто с ума схожу. Никогда не думал, что дисплей может столько хлопот доставить
0
|
|
|
0 / 0 / 0
Регистрация: 30.01.2011
Сообщений: 335
|
|
| 20.05.2012, 19:01 | |
|
Ааааа, еще вспомнил одну хрень. После инициализации первая отправка данных нормально проходит не раньше чем через 1мс. Так что поставь еще задержку после wh_init(). И не 9999, а пару миллионов вкати, у меня же там в наносекундах измеряется.
Голого проекта под дисплей у меня нет. Если мне нужен дисплей, просто копирую в проект эти файлы и всё работает.
0
|
|
|
0 / 0 / 0
Регистрация: 27.04.2012
Сообщений: 71
|
|
| 20.05.2012, 19:29 | |
|
осталось верить только что мой диод в роли вольтодобавки некоректно себя ведёт после инициализации и я просто не вижу символов на дисплее..
Какой переменник вы используете? Если я запитаю Vo от ЦАПа тоже ведь может проканать? только нужно выставить 1В зы вот наваянное https://www.dropbox.com/s/jlwj5jipctx0u9r/lcd.zip если есть возможность проверте работоспособность спасибо за помощь
0
|
|
|
0 / 0 / 0
Регистрация: 29.11.2012
Сообщений: 396
|
|
| 06.12.2012, 14:57 | |
|
а то что питание у WH1602B 5В? он будет от 3В работать? если осцилограф есть, можно на ввыводах индикатора или микросхемы импульсы посмотреть. WH1602L 3х вольтовые.
0
|
|
|
hosh
|
||||||
| 06.12.2012, 18:30 | ||||||
|
Явно с таймингами что-то не так.... рекомендую открыть даташит, и посмотреть на них :)
GPIO_SetByts(GPIOC,cmd | GPIO_Pin_10); например здесь вы тайминги совсем похерили... :) <Изображение удалено> а ещё не зря есть ножка R/W , как минимум , что-бы BUSY флаг вычитать ( но смотрите аккуратно, я когда начинал - не 1 MSP430 попалил, когда забывал вовремя ноги шины данных на вход перевести :)))) вот кстати пару кусочков с рабочего проекта от MSP430 (подправить думаю проблем не будет?):
ах....да... вспомнил, в функцию while_bf() добавь выход из цикла по таймауту ожидания BUSY. А то было у меня... сгорел индикатор, а в итоге весь девайс перестал работать(ждал BUSY), хотя экран в девайсе имел самую последнюю роль... |
||||||
|
.ykmori
|
||||||||||||
| 21.03.2013, 22:42 | ||||||||||||
|
слушайте а где взять main.h???
|
||||||||||||
|
0 / 0 / 0
Регистрация: 29.11.2012
Сообщений: 396
|
|
| 20.08.2014, 11:50 | |
|
Вопрос о том где взять main.h заставил задуматься всех надолго... Так никто и не нашел его... )))))))))
0
|
|
|
1 / 1 / 0
Регистрация: 09.02.2012
Сообщений: 693
|
|
| 20.08.2014, 12:27 | |
|
Посмотрите тему http://forum.iosyitistromyss.r... 35&t=19426. Я оставлял исходники для WH1602B + stm32f4.
0
|
|
|
3 / 3 / 0
Регистрация: 06.12.2016
Сообщений: 1,605
|
||
| 20.08.2014, 12:47 | ||
Правда, попадаются разные "умники", которые туда какой-то код пихают ... Попробуйте #include закомментарить и посмотреть, что будет.
0
|
||
|
0 / 0 / 0
Регистрация: 29.11.2012
Сообщений: 396
|
||
| 20.08.2014, 16:35 | ||
Правда, попадаются разные "умники", которые туда какой-то код пихают ... Попробуйте #include закомментарить и посмотреть, что будет. Спасибо! Но я его не искал :)))))) Это .ykmori спрашивал и тема затихла.
0
|
||
|
0 / 0 / 0
Регистрация: 15.06.2014
Сообщений: 118
|
|
| 24.08.2014, 03:07 | |
|
Даташит не читали, небось? :) Во всех алгоритм инициализации прописан по слогам.
lcd_write(0b0011хххх); надо три раза подряд, например, а не два , и далее фразы можно подправить.
0
|
|
|
0 / 0 / 0
Регистрация: 29.11.2012
Сообщений: 396
|
|
| 24.08.2014, 21:49 | |
|
Кто его знает читал он или не читал, у меня работает отлично. Даташит есть на русском языке и примеров много. :)
0
|
|
|
0 / 0 / 0
Регистрация: 15.06.2014
Сообщений: 118
|
|
| 25.08.2014, 01:06 | |
|
я про исходник в топике, а не комментах.
что до готовых драйверов, перебрав штук 5, сел и написал свой, ибо готовые то задержки лажали, то инициализация. инициализация "через пень" с одними экранами заработает , а потом отдел закупок приобретет на 5 центов дешевле, и готовьтесь ловить косяки и перешивать всю партию. Это по нашему.
0
|
|
|
0 / 0 / 0
Регистрация: 07.02.2013
Сообщений: 92
|
||
| 26.08.2014, 02:10 | ||
0
|
||
| 26.08.2014, 02:10 | |
|
Помогаю со студенческими работами здесь
20
подключение LCD (HD47780) к плате STM32F4- Discovery
Подключение LCD 1602 через I2C к STM32F4 без библиотеки Hal STM32F4. Инициализация камеры OV9655 Инициализация SDHC по SPI STM32F4 Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Символьное дифференцирование
igorrr37 13.02.2026
/ *
Логарифм записывается как: (x-2)log(x^2+2) - означает логарифм (x^2+2) по основанию (x-2).
Унарный минус обозначается как !
*/
#include <iostream>
#include <stack>
#include <cctype>. . .
|
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
|
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу,
и светлой Луне.
В мире
покоя нет
и люди
не могут жить в тишине.
А жить им немного лет.
|
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила»
«Время-Деньги»
«Деньги -Пуля»
|
|
SDL3 для Web (WebAssembly): Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 12.02.2026
Содержание блога
Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами и вызывать обработчики событий столкновения. . . .
|
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога
Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
|
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL3_image
8Observer8 10.02.2026
Содержание блога
Библиотека SDL3_image содержит инструменты для расширенной работы с изображениями. Пошагово создадим проект для загрузки изображения формата PNG с альфа-каналом (с прозрачным. . .
|
Установка Qt-версии Lazarus IDE в Debian Trixie Xfce
volvo 10.02.2026
В общем, достали меня глюки IDE Лазаруса, собранной с использованием набора виджетов Gtk2 (конкретно: если набирать текст в редакторе и вызвать подсказку через Ctrl+Space, то после закрытия окошка. . .
|