Дисплей на SSD1306

Вывод результатов работы на индикацию. Дисплеи, индикаторы...

Дисплей на SSD1306

Сообщение mersss (mersss) » 18 сен 2018, 19:32

Здравствуйте участники форума, выкладываю пример работы дисплея SSD1306 по шине i2c (пример взял где то тут на форуме не помню где уже, дело было давно для себя я там всё подписал) и хочу спросить у вас совета, данный пример сжирает очень много памяти данных контроллера, а если я весь массив символов перенесу во внешнюю микросхему EPROM типа 24с512 и т.д. то как это может сказаться на скорости отображения (мультфильмы я на нём смотреть не планирую). Proteus там восьмой....
У вас нет доступа для просмотра вложений в этом сообщении.
Ник: mersss
Имя: mersss
(Санкт-Петербург)
Заинтересованный
Заинтересованный
Информация о пользователе

Re: Дисплей на SSD1306

Сообщение mim (mim) » 19 сен 2018, 06:06

I Am Legend
Аватар пользователя
Ник: mim
Имя: mim
(Из Лесу, вестимо...)
Легенда
Легенда
Информация о пользователе

Re: Дисплей на SSD1306

Сообщение mersss (mersss) » 19 сен 2018, 20:08



Спасибо вам MIM, вы дали ссылку на способ размещения массива в "памяти программ" это весьма интересное решение. А вот если я размещу данные массива во внешней памяти (разумеется ручками), то как это отразится на скорости вывода данных на дисплей? Эта затея имеет смысл или скорость отображения чисел (если я вывожу данные в виде вольтметра "5,04 Volt" будет низкая). Сформулирую так, вывел строку 5,00 Volt а потом сразу вывожу строку 5,57 Volt сколько, как вы считаете времени может занять данная процедура чтения и вывода на экран из внешней памяти типа там 24С08 и прочие 24С... на экран дисплея ?
Ник: mersss
Имя: mersss
(Санкт-Петербург)
Заинтересованный
Заинтересованный
Информация о пользователе
Вернуться наверх

Re: Дисплей на SSD1306

Сообщение Yushik (Андрей) » 19 сен 2018, 21:26

Имейте в виду что дисплей у вас работает по I2C, 24хх память тоже работает по I2C. Соответственно вам придется делить шину на два устройства, скорость конечно упадёт вопрос насколько кретично. Несчитая того что ещё придётся переключать поочерёдно память и дисплей по адресу (если дисплей поддерживает, входа CS у него нет). У памяти 24хх этого входа тоже нет, как вариант использовать дополнительный программный порт I2C, но это тоже дополнительное время в цикле программы. Иногда приходится делать выбор между временем выполнения цикла и загруженностью оперативной памяти.
Аватар пользователя
Ник: Yushik
Имя: Андрей
(Симферополь)
Консультант
Консультант
Информация о пользователе
Вернуться наверх

Re: Дисплей на SSD1306

Сообщение mim (mim) » 20 сен 2018, 05:54

Такие вопросы решаются как два пальца об асфальт... Достаточно количество байт (понимай общее кол-во бит) участвующих в чтении данных из внешней памяти (старт-стоп можно пренебречь) умножить на период частоты чтения. Если шина одна, частота работы дисплея 400 Кгц - время доставания оного байта данных из памяти будет приблизительно равно 130 мкс. Второй способ займет минут 20 - все сделать в FC и Протеусе и увидеть это в живую - как это сделал я (еще очень давно, пример гдето на форуме)...
T.jpg
У вас нет доступа для просмотра вложений в этом сообщении.
I Am Legend
Аватар пользователя
Ник: mim
Имя: mim
(Из Лесу, вестимо...)
Легенда
Легенда
Информация о пользователе
Вернуться наверх


Вернуться в Flowcode и дисплеи, индикация

Кто сейчас на форуме

Пользователь просматривает форум: нет зарегистрированных пользователей