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

Шрифты И Вывод Символов По Spi На Lcd


Рекомендуемые сообщения

Сразу хочу предупредить,что я начинающий в освоении МК. Выбрал язык Си и МК серии Мега. Пишу в CVAVR. Вот есть парочку вопросов, сколько искал-ответа не нашел понятного для начинающего) Купил графический монохромный lcd от нокии 3310. Скачал даташит, подключил. Написал программу, все нормально, дисплей инициализируется, поигрался с точками и т.д. Дисплей по протоколу SPI подключен к симулятору Proteus через LPT. В протеусе симулирую Мегу16. Дисплей работает, но конечно иногда со сбоями(шнур метра полтора). Вот вопрос, не могу понять, как пишутся шрифты на Си для вывода на дисплей букв? Умею только последовательно выводить каждую точку, но это очень долго. Как написать, чтобы одной строчкой по SPI передавался не один байт, а сразу несколько? а то писать для каждого байта spi(0x**); очень напряжно) Подскажите пожалуйста, как это все делается или где можно обо всем этом доступно почитать? Заранее огромное спасибо!!!

#icq 321-504-779

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

Реклама: ООО ТД Промэлектроника, ИНН: 6659197470, Тел: 8 (800) 1000-321

Для дисплеев у которых контроллер не содержит собственного знакогенератора, таблицу придется "рисовать" самому.Для LCD 3310-й Нокии есть готовая.В Радио была статья про электронную книгу из такого телефона.На FTP журнала была доступна прошивка ЕЕПРОМ."Радио №11,12 2005".

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

20% скидка на весь каталог электронных компонентов в ТМ Электроникс!

Акция "Лето ближе - цены ниже", успей сделать выгодные покупки!

Плюс весь апрель действует скидка 10% по промокоду APREL24 + 15% кэшбэк и бесплатная доставка!

Перейти на страницу акции

Реклама: ООО ТМ ЭЛЕКТРОНИКС, ИНН: 7806548420, info@tmelectronics.ru, +7(812)4094849

Готовая то есть, шрифты есть, но я не знаю,как это правильно на Си писать) Как отправить по SPI сразу несколько байтов по очереди, или какую то строку байтов) За статью спс, буду искать)

#icq 321-504-779

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

Выбираем схему BMS для заряда литий-железофосфатных (LiFePO4) аккумуляторов

Обязательным условием долгой и стабильной работы Li-FePO4-аккумуляторов, в том числе и производства EVE Energy, является применение специализированных BMS-микросхем. Литий-железофосфатные АКБ отличаются такими характеристиками, как высокая многократность циклов заряда-разряда, безопасность, возможность быстрой зарядки, устойчивость к буферному режиму работы и приемлемая стоимость. Но для этих АКБ очень важен контроль процесса заряда и разряда для избегания воздействия внешнего зарядного напряжения после достижения 100% заряда. Инженеры КОМПЭЛ подготовили список таких решений от разных производителей. Подробнее>>

Реклама: АО КОМПЭЛ, ИНН: 7713005406, ОГРН: 1027700032161

Байты в буфер модуля SPI грузятся по очереди. При этом можно после загрузки в SPDR передаваемого байта ждать установки флага SPIF, а можно разрешить прерывание и заниматься чем-то еще пока модуль выпихивает (принимает) байт. Загрузить в SPDR можно только один байт. Соответственно в простейшем случае организуется очередь из байтов которые вам нужно передать(в ОЗУ например) и они по очереди грузятся в SPDR.

Короче, загрузил байт в SPDR - дождался установки SPIF - прочитал SPDR(если надо) - загрузил следующий - дождался SPIF- прочитал SPDR и т.д., пока не кончатся байты которые предназначены к отправке. Простой цикл длина которого - есть длина вашей передачи в байтах.

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

Готовая то есть, шрифты есть, но я не знаю,как это правильно на Си писать) Как отправить по SPI сразу несколько байтов по очереди, или какую то строку байтов) За статью спс, буду искать)

Вот ещё файлик по теме.

Nokia.rar

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

Если не боитесь немного перелопатить код, то можно не то что под любым компилятором скомпилить, но под любой проц сиё дело приспособить. Всё зависит от вашего усердия :)

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

Вопрос! Немного не по теме, но очень нужно узнать...

Дисплей от нокии 3310 с жёсткими выводами или просто с контактными площадками на самом дисплее? ибо приобрёл ЖКИ от 3210, а там такое безобразие...

Изменено пользователем Te}{Ho_ReaLiTy

Электронщики всего мира объеденяйтесь!

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

У меня дисплей в пластиковом корпусе с пружинными контактами, если снять пластик, то на стеклянном дисплее сзади металлические конткакты.

#icq 321-504-779

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

да так и на любых "чисто" дисплеях без МК-драйвера...

Да в том то и дело, что с драйвером, дисплей и контроллер идентичен 3310, но в моём варианте пружинных контактов нет. Большое спасибо, сейчас пойду покупать жки от 3310, т.к. лень возиться с самодельными контактами ;)

Электронщики всего мира объеденяйтесь!

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

  • 4 месяца спустя...

А почему не смог ? Обьясни конкретно что не понятно.

Байт в ЛСД послать можешь. Ну и посылай их подряд.

По исходнику в архиве :

Создана таблица (массив) шрифтов - FontLookup [][5] .

Например:

Надо тебе зажечь символ с порядковым номером 17, это по моему там символ "0", и посылаешь байты.

Сначало FontLookup [17][0] , затем FontLookup [17][1] ..... , FontLookup [17][4] . И всё , символ на экране.

Т. е. получаеться ты выводишь символ по столбцам из 5-ти точек.

Незабудь следить за тем что байт передан полностью, затем посылай второй.

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

Дело пошло, научился и печатать, и картинки выводить полноэкранные, все ок) Щас доделываю спектроанализатор с этим дисплеем, жду помощи с фильтрами полосовыми) Все огромное спасибо за помощь, продвинулся намного вперед!)

#icq 321-504-779

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

мой любимый шривт комик эмэс.

мну он нравецо!!! :rolleyes:

Уважаемый пользователь, вам первая желтая карточка!!!

Причина сленг, здесь русскоязычные пользователи.

Теперь о основном, измените ник. Не вводите в заблуждение пользователей.

В случае иногра этой мессаги - бан.

С уважением, модератор Lexi

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

Пишу на Си (Hi-Tech). Мк PIC18f252. SPI у него аппаратный, но пробывал и програмный писать, тоже самое, результат 0-вой .

У меня проблема походу в аппаратной части. Купил дисплей , а он не с металлическими кантактами а с напылением. Кое как прижал к резиночкам, но боюсь чегото у меня не то.

По поводу инициализации, просмотрел много исходников, примеров, почемуто в даташите всё по другому. Странно...

Програмно знаю как всё реализовать, понимаю что куда подать, но не пойму толи инициализирую не правильно , либо контакта у меня нет.

В общем сначало разберусь с кантактами, потом буду программу мучать.

А можно примерчик инициализации и зажигания одной точки ? А то я уже низнаю чему верить, ДШ или исходникам разным. :(

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

Там впринципе все несложно, несколько основных команд инициализации, потом 2 команды установки курсора по X и Y и все, дальше просто передаешь байт по спи-и он на дисплее, если строка заканчивается, дисплей автоматически переносит курсор на следующуюстроку.

Мой код инициализации такой(CVAVR):

void lcd_init(void) {

DC=0;

spi(0b00100001); // включить питание, расшир. команды 0x21

spi(0x13); // bias=3

spi(0xC8); // включить внутренний источник, Vop=0x48;

spi(0x20); // обычный набор инструкций

spi(0b00001100); // нормальный режим отображения D=1 E=0

}

Кстати, в ДШ написано, что дисплей надо сбросить ДО подачи питания. Я Делаю так-делаю сброс

void lcd_reset(void){

RES=1; // сброс

delay_ms(500); // в микросекундах

RES=0;

delay_ms(500);

RES=1;

}

потом подаю питание, делаю еще раз сброс, а дальше уже инициализация. До этого дисплей через раз инициализировался, теперь же всегда стабильно. Удачи =) Будут вопросы-помогу чем смогу! Если надо, могу выложить фотки подключенного дисплея.

#icq 321-504-779

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

Да, поднимаю DC и отправляю байты, а для вывода полноэкранной картинки отправляю массиd 84*6 байт поочередно, установив перед этим X=0 и Y=0.

#icq 321-504-779

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

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

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

Гость
Unfortunately, your content contains terms that we do not allow. Please edit your content to remove the highlighted words below.
Ответить в этой теме...

×   Вставлено с форматированием.   Восстановить форматирование

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

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

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

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

Загрузка...
  • Последние посетители   0 пользователей онлайн

    • Ни одного зарегистрированного пользователя не просматривает данную страницу
×
×
  • Создать...