Я так думаю, что наверное мы с вами все таки пойдем по разным путям, и в итоге получится 2 разных девайса... Но по крайней мере так веселее будет, и дело быстрее будет двигаться, т.к. все равно база одинаковая...
Вадиматоричик писал(а):
Со стробом-то как быть? Как вариант - настроить таймер и шим, пустив вместе с DMA.
Карма: 1
Рейтинг сообщений: 21
Зарегистрирован: Пн май 16, 2011 10:54:32 Сообщений: 299 Откуда: Красноярск
Рейтинг сообщения:0
Ну как же? На LCD пин "E"-то нужно после выставления каждого байта на 8-ми битную шину переводить из одного состояния в другое и обратно. То есть выдал байт, сделал строб, снова выдал байт и т.д. Так же нельзя забывать про RS (Или RW, не помню уже), чтобы показывать, что мы передаем, данные или команду.
_________________ Все можно сделать, было бы желание!
Ну как же? На LCD пин "E"-то нужно после выставления каждого байта на 8-ми битную шину переводить из одного состояния в другое и обратно. То есть выдал байт, сделал строб, снова выдал байт и т.д. Так же нельзя забывать про RS (Или RW, не помню уже), чтобы показывать, что мы передаем, данные или команду.
Карма: 1
Рейтинг сообщений: 21
Зарегистрирован: Пн май 16, 2011 10:54:32 Сообщений: 299 Откуда: Красноярск
Рейтинг сообщения:0
Исправление ошибок!На просторах интернета удалось найти корпус LQFP48. Который с моим не сошелся. По-этому пришлось переделывать. Теперь все сходится. + доработал LCD макрос.
Использование модульных источников питания открытого типа широко распространено в современных устройствах. Присущие им компактность, гибкость в интеграции и высокая эффективность делают их отличным решением для систем промышленной автоматизации, телекоммуникационного оборудования, медицинской техники, устройств «умного дома» и прочих приложений. Рассмотрим подробнее характеристики и особенности трех самых популярных вариантов AC/DC-преобразователей MW открытого типа, подходящих для применения в промышленных устройствах - серий EPS, EPP и RPS представленных на Meanwell.market.
Ну как же? На LCD пин "E"-то нужно после выставления каждого байта на 8-ми битную шину переводить из одного состояния в другое и обратно. То есть выдал байт, сделал строб, снова выдал байт и т.д.
А не как же!!! Два таймера и один канал ДМА... Один таймер дёргает Е и ДМА... другой рулит CS1 и CS2... вот и всё... и по сути хардварно...
Цитата:
Так же нельзя забывать про RS (Или RW, не помню уже), чтобы показывать, что мы передаем, данные или команду.
Если через ДМА, то побоку это всё... RS устанавливаем заранее ручками... т.к. пишем через ДМА только данные... а WR вообще можно наглухо привязать к земле... всё можно делать в буфере...
_________________ "Я не даю готовых решений, я заставляю думать!"(С)
Карма: 1
Рейтинг сообщений: 21
Зарегистрирован: Пн май 16, 2011 10:54:32 Сообщений: 299 Откуда: Красноярск
Рейтинг сообщения:0
Делаю я себе печатную плату, как вдруг понимаю, что начинаю путаться. Т.к. слишком много элементов обвязки всяких доп. модулей. Да и тяжело держать в голове, что куда подсоединяется и при этом думать, как лучше провести дорожку. Нужно было начертить схему. Но вот беда. Кроме протеуса знаний нет. А в нем нет ни одного нужного элемента (кроме рассыпухи). Т.к. симуляция мне не нужна, а на качество "ГОСТ" я не претендую, то, после выбора программы "по силам" (ею оказался Splan 7.0), я начал чертить схему. Само собой компоненты пришлось делать в ручную. Для начала сделал компонент нашего LCD + "STM32F100xx value line LQFP48". В архиве библиотека компонентов. Все по даташиту. + на макросе LCD, на пустом месте, написаны значения обозначений из статьи с хабра (http://habrahabr.ru/post/213459/). + для тех, кто не пользуется этой программой фото компонентов.
Карма: 1
Рейтинг сообщений: 21
Зарегистрирован: Пн май 16, 2011 10:54:32 Сообщений: 299 Откуда: Красноярск
Рейтинг сообщения:0
Вообщем вот версия 0.1: Связь с внешним миром: 1. I2C с подтяжкой подстроечным резистором. 2. 1-Wire с подтяжкой подстроечным резистором. 3. Разъем подключения +5 V. 4. 6 кнопок общего назначения + 2 специального (reset и boot1 (для входа в Bootloader для заливки прошивки)). 5. USART1 подключен через микросхему переходник CP2102 к USB B. Может служить как для общения с компьютером, так и для заливки прошивки. 6. LCD подключен по SPI2, подсветка регулируется через КТ315. 7. К LCD подключается резистивный тачскрин. 8. Есть активный биппер (самостоятельная пищалка). Завалялась в коробке) Питание: 1. Ставить стабилизатор на 5 вольт не стал. Так что питание на LCD и его подсветку, а так же на подтяжку интерфейсов идет напрямую. А вот на МК - через стабилизатор на 3.3 + обтяжка. 2. Ножки интерфейсов (там где подтяжка к +5) толерантны к 5V. Что бы еще добавить? Если ничего больше не придумаю, то разведу так, как есть + все свободные порты разведу в форме пинов с шагом 2.54 мм. В построении схем я не очень силен, так что буду благодарен за советы и замечания.
_________________ Все можно сделать, было бы желание!
Поигрался немного с дисплеем ST7920 на ATmega32. Написал библиотечку небольшую с использованием фреймбуфера в 1кБ.
Всё-таки гораздо проще с фреймбуффером работать, не отвлекаясь на аппаратные тонкости дисплея. Шрифты, например, крутить:
При этом по таймеру фреймбуфер считывается в экран достаточно быстро, легко давая 20 кадров в секунду. Красота.
Правда, пока библиотека только под 8-бит параллельное подключение, т.к. ориентируюсь на то, чтобы по точно такой же системе в неё добавить поддержку дисплея KS0108, который совместим по пинам и габаритам. Одна плата - два варианта дисплея с разными, естественно, прошивками.
Хотя принципиальной сложности перейти на аппаратный SPI МК никакой нет. Просто, по идее, вместо выставления данных на порту положить их в соответствующий регистр SPI.
Всем привет. Я уже пробовал прикрутить дисплей st7920 к Си-библиотеке u8glib - https://code.google.com/p/u8glib/ (U8glib for AVR),использовал Atmega32.Работало отлично(SPI,8-bit). Теперь вот пробую подключить к STM32F4 DISCOVERY.Использовал библиотеку от Вадиматоричика для STM32.Перепортировал для stm32F407VGT6 на SPI1.Все запустилось,спасибо автору. Хотелось спросить есть ли какие-то обновления?Как с поддержкой кирилицы?
Практически все заявленые функции работают.Непонятно только функция OUT_Graf_PasteJmeg,а именно как правильно оформить картинку при помощи Bitmap2Code.Объясните начинающему.
А в том-то и дело - не работает с этой библиотекой,на экране крякозябы.Тот-же пример что и для STM8, но для STM32:
OUT_Graf_String("Èíîãäà ÿ äóìàþ äîëãî", 0, 4, FonOFF_InversOFF); или OUT_Graf_String("Иногда я думаю долго", 0, 4, FonOFF_InversOFF);
-результат один крякозябы.При этом выведеный на экран английский алфавит явно соответствует font8x8.h, где есть и кирилица .В библиотеке от CoCoxa используются английские символы вшитые в st7920,а они побольше - на экране помещается всего 4 строки по 16 символов
Цитата:
наверное лучше - поменять контроллер "вниз", или поменять дисплей "вверх"
-наверное...Объясню почему выбор пал на STM32F4, дело в том что есть идея установить у себя в доме что-то типа системы "Умный дом".Потихоньку продвигаюсь с ремонтом,полностью меняю електопроводку ,при этом пробрасывал "вытые пары" в нужные мне точки.Планируется основной модуль и slave-модуля.Вот для основного блока и F4.Правда сначала я думал применять Atmega328 (потом Atmega32),под них и покупался st7920.Использовал библиотеку u8glib в режиме 8-bit (по SPI медленно работает).Проблема для меня в количестве пинов чипа - мало (даже Меги32).А так вполне можно "заваять" все на любимом Atmele.Понравилась u8glib,большой функционал.Делал графическое меню,все просто и понятно.Да и можно симулировать в Proteuse,для этого достаточно поменять одну строчку инициализации на дисплей KS0108 ,и не гонять даром контролер пограматором. На счет LCD - он меня вполне устраивает потому что во первых есть в наличии.А во-вторых для меня его вполне достаточно что-бы посмотреть состояние каналов,температуру и часы.Хотя можно было цветной или сенсорный поискать.Но... И еще на F4 есть аудио ЦАП с усилителем,а это уже для авторечевого информатора,который я планировал делать отдельно на Attiny861 по схеме от мистера Чана. Я ищу библиотеку для STM32 под st7920 с поддержкой графики.Информации в сети по этому поводу прямо скажу не густо.Вот здесь на форуме и наткнулся на библиотеку от Вадиматоричика. Для меня возникли непонятки с выводом картинки."Рыбка" автора выводится нормально,пробую свои картинки - получается мусор. И еще заметил такой глюк.Если питание платы (от USB) отключить,а через некоторое время включить,не совсем коректно высвечиваются символы,кнопк RESET не помогает.Лишь после нескольких раз!!! полного отключения и включения питания все приходит в норму.
Объясню почему выбор пал на STM32F4, дело в том что ...........
Ды нормально все, лишь бы устраивали цена и возможности... я бы в принципе даже к intel-у прикрутил бы этот дисплейчик, если его возможностей будет хватать для конкретной задачи...
rastamanoff писал(а):
st7920 можно симулировать в Proteuse, для этого достаточно поменять одну строчку инициализации на дисплей KS0108
Во... это интересно... можете примерчик скинуть проекта для AVRSTUDIO ну и проетик в PROTEUS, чтобы на примере все было понятно...
rastamanoff писал(а):
На счет LCD .......... для меня его вполне достаточно что-бы посмотреть состояние каналов,температуру и часы.
100%... у меня задачи те же... я тоже пятак таких дисплейчиков заказал, хочу прикрутить к STM32F100 с 8кб RAM-а...
rastamanoff писал(а):
Для меня возникли непонятки с выводом картинки."Рыбка" автора выводится нормально,пробую свои картинки - получается мусор.
Ну значит нет все таки ясного представления о строении внутреннего буфера дисплея... нужно грызть дальше ...
rastamanoff писал(а):
И еще заметил такой глюк.Если питание платы (от USB) отключить,а через некоторое время включить,не совсем коректно высвечиваются символы,кнопк RESET не помогает.Лишь после нескольких раз!!! полного отключения и включения питания все приходит в норму.
Насчет Proteusa. Скоее всего я не правильно выразился.Дело в том ,что плагина для st7920 под Proteus ,я в сети не нашел.Зато есть ks0108,правда только 8-bit.Библиотека u8glib поддерживает оба дисплея.Инициализация LCD это одна строка в коде.Я писал две,допустим инициализация для SPI(st7920) и 8-bit(ks0108),одна из которых закоментирована в зависимости от того симулирую я в Proteuse или заливаю прошивку в реальный контролер.В симуляторе отладил всю графику,даром не гоняя МК прошивкой.Недостатком было +10 пинов для ks0108. И вот еще "наковырял" в сети пример адаптации STM32F101CBT6 под эту библиотеку ,только под другой дисплей http://blog.bastelhalde.de/?p=759#comment-1567.Хочу еще попробовать портировать под F4 и st7920 .Библиотека действительно неплохая,одних названий функций целая страница,всякие там прямоугольники с закругленными углами,пару десятков шрифтов,картинки в формате xbm.
вроде получилось все работает но при включении часто на дисплее рябь всякая и бессмыслица но периодически все хорошо.
Я начинающий и пытаюсь во всем разобраться, прошу сильно не пинать ) Вопрос в следующем а как можно выводить инфу на дисплей в реальном времени считывая ее с чего либо? ну например показания какого либо датчика, температуры например, или еще чего нить.
Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 3
Вы не можете начинать темы Вы не можете отвечать на сообщения Вы не можете редактировать свои сообщения Вы не можете удалять свои сообщения Вы не можете добавлять вложения