вообще-то проблема не в этом! Массив при таком обьявлении определенной длины получается!
Вы лучше посмотрите на функцию путстр - там есть ограничение на самый первый символ....помоему он не 14 а аж 20-й .... ибо если задать вывод символа ниже начала таблицы символов там условие стоит и оно просто не выводит ничего!
А вообще я пользуюсь всегда простой конструкцией для вывода текста
Совершенно случайно попался мне под руку проект LC метра на PIC и дисплее от nokia 3310. Автор оказался не жадным и прикрепил исходник к проекту, там караз был исходник функций LCD. Я коечто позаимствувал. Делюсь тем что у меня вышло
Компания MEAN WELL пополнила ассортимент своей широкой линейки светодиодных драйверов новым семейством XLC для внутреннего освещения. Главное отличие – поддержка широкого спектра проводных и беспроводных технологий диммирования. Новинки представлены в MEANWELL.market моделями с мощностями 25 Вт, 40 Вт и 60 Вт. В линейке есть модели, работающие как в режиме стабилизации тока (СС), так и в режиме стабилизации напряжения (CV) значением 12, 24 и 48 В.
Совершенно случайно попался мне под руку проект LC метра на PIC и дисплее от nokia 3310. Автор оказался не жадным и прикрепил исходник к проекту, там караз был исходник функций LCD.
Здравствуйте! Решил спаять платку для тестов LCD. Сам дисплей планирую питать от 3,3В как по даташиту, есть вопрос по согласованию уровней между МК и дисплеем. Посмотрите пожалуйста прикрепленную схему, можно ли так сделать?
Вложения:
Комментарий к файлу: Схема cxema.JPG [9.84 KiB]
Скачиваний: 1266
Хочу на железке проверить те функции которые уже написал ну и проверять новые функции, а то Proteus работает у меня 1 мин. и закрывается, а так не интересно) У меня ATmega8-16PU обычная не (8L) так что стабильность работы от 3В не гарантируется, лучше сразу поставлю по резистору и стабилитрону.
Ещё возникла идея. Поскольку дисплей потребляет малый ток то возможно на него подать питание с +5В только через 2 последовательно включенных диода 1n4148??? Ну и на сигнальных линиях может тоже так сделать?
Поделитесь тем как Вы питаете дисплей, а то не хочу спалить...
Реализовал программу генератора массива символов - символьный генератор. Программа позволяет генерировать как 5х8, так и 10х16 символы.
Также имеется готовый набор символов (содержащий как английские, так и русские) и функций для работы с ними symbol-generate.c
Коты !!!!! Подскажите в чем может быть проблема? Дисплей 3310 + мега8 Не могу заставить писать черным по белому т.е. нормально, все отображается в инверсном виде. В чем может быть проблема? Инициализация такая , перепробовал все - ничего не помогает....
lcd_send(0x21, LCD_CMD); // Перевод LCD в режим внешних команд lcd_send(0xC8, LCD_CMD); // Set LCD Vop(Contrast = 72) lcd_send(0x06, LCD_CMD); // Установить температурный коэффициент lcd_send(0x13, LCD_CMD); // LCD bias mode 1:48 lcd_send(0x20, LCD_CMD); // Перевод LCD в режим cтандартных команд, Горизонтальная адресация (внутренние команды) lcd_send(0x0C, LCD_CMD); // LCD в нормальный режим отображения (черным по белому)
Протеус отображает в инверсном виде, хотя если загрузить в него другой (чужой) hex, то все работает нормально где копать?
Столкнулся с курьезом: подключил дисп Nokia 5210 (84x48, PCD8544). Его особая привлекательность в том, что он малых габаритов, и имеет удобный контактный шлейф, который не плавится при пайке, но! Изображение на нем отзеркалено справа-налево... как программно можно подкорректировать? или прийдется знакоген переписывать? а может команда есть какая? точно знаю, что в Nokia 1100 дисплее есть команда на "отзеркаливание" изображения, но она, естественно, для PCD8544 не катит...
Попробуйте ингициализировать дисплей как в даташите по идее я на него не нашел такой функции слева направо или справа налево но с другой стороны...да неприятно....а с третей большая ли разница для знакогенератора????просто перед каждым символом позиционировать курсор и читать не 12345678 а 87654321 из таблицы шрифта
Коты !!!!! ....Протеус отображает в инверсном виде, хотя если загрузить в него другой (чужой) hex, то все работает нормально где копать?
Вот моя процедурка инициализации
Код:
RES=0; delay_ms(100); RES=1; delay_ms(100); writecomm(0x21); // LCD Extended Commands. //writecomm(0xC8); // Set LCD Vop (Contrast). writecomm(0b10000000|mem_contr); writecomm(0x06); // Set Temp coefficent. writecomm(0x13); // LCD bias mode 1:48. writecomm(0b01000101); //Переводим СКРОЛЛИНГ вверх на пол строки - вторая строка = первая на экране writecomm(0x20); // LCD Standard Commands, Horizontal addressing mode. writecomm(0x0C); // LCD in normal mode.
Так как впринципе всё одинаково то скорее всего у вас СПИ порт настроен неправильно(не та полярность такта) Вот моя инициализашка порта СПИ
Здравствуйте! Решил спаять платку для тестов LCD. Сам дисплей планирую питать от 3,3В как по даташиту, есть вопрос по согласованию уровней между МК и дисплеем. Посмотрите пожалуйста прикрепленную схему, можно ли так сделать?
Я делаю проще....я взял на линии данных от мк(который от 5-ти вольт) до LCD поставил килоомные резисторы а питание организовал простым линейником L1117-3.3 нагруженным не только самим LCD а ещё и 200 омным резистором...в сам контроллер уже встроены защитные диоды к питанию в них оно спокойно упирается...а чтоб небыло паразитного питания стабилизатор работает по типу стабилитрона не экономично .. согласен...можно было бы взять микруху для согласования уровней чтото типа HCT244-й или её подобное но..у мя итак работает на 4 мегагерцах а в бОльшей скорости я смысла не вижу экранная матрица всёравно инерционна....
_________________ Что нас не убило сделало нас осторожней Не доверяйте русским лужам - это может быть вход в метро.
to clawham: Я не использую SPI , у меня по другому, все ручками . Вывод на дисплей работает, все выводит как надо, но только в инверсном виде как будто всегда подана команда 0x0D, а хотелось бы в нормальном виде 0x0С. В архиве проект для CVAVR и проект для Протеуса. Такое ощущение что вообще не включаются расширенные (extended) команды. Может кто подскажет в чем дело?
Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 13
Вы не можете начинать темы Вы не можете отвечать на сообщения Вы не можете редактировать свои сообщения Вы не можете удалять свои сообщения Вы не можете добавлять вложения