Реклама на сайте English version  DatasheetsDatasheets

KAZUS.RU - Электронный портал. Принципиальные схемы, Datasheets, Форум по электронике

Новости электроники Новости Литература, электронные книги Литература Документация, даташиты Документация Поиск даташитов (datasheets)Поиск PDF
  От производителей
Новости поставщиков
В мире электроники

  Сборник статей
Электронные книги
FAQ по электронике

  Datasheets
Поиск SMD
Он-лайн справочник

Принципиальные схемы Схемы Каталоги программ, сайтов Каталоги Общение, форум Общение Ваш аккаунтАккаунт
  Каталог схем
Избранные схемы
FAQ по электронике
  Программы
Каталог сайтов
Производители электроники
  Форумы по электронике
Помощь проекту


 
Опции темы
Непрочитано 28.07.2018, 21:58  
miwutka
Почётный гражданин KAZUS.RU
 
Регистрация: 05.07.2009
Адрес: Запорожье
Сообщений: 1,531
Сказал спасибо: 309
Сказали Спасибо 53 раз(а) в 48 сообщении(ях)
miwutka на пути к лучшему
По умолчанию SSD1306 будут работать 4 шт???

Здравствуйте. Подключил на два I2C по два дисплея SSD1306. У них по два адреса есть. На I2C1 два дисплея работает с разными адресами. На I2C2 работает один дисплей с адресом 0х78, а 0х7А инициализируется ,но изображение непонятно как выводиться. Справа в 2 пикселя вертикальная полоска. На каждом дисплее я пишу Display 1, Display 2, Display 3, Display
4. На четвертом дисплее выводиться только цифра 4 в первой строке сдвинутая влево на 2 пикселя. Менял дисплеи местами, менял им адреса. Любой дисплей который вешаю именно на I2C2 с адресом 0х7А вот так непонятно показывает.

Проц стм32ф030с8. Может есть какието ограничения секретные? ))
Миниатюры:
Нажмите на изображение для увеличения
Название: 20180728_205657.jpg
Просмотров: 0
Размер:	1.36 Мб
ID:	131350  
Реклама:
miwutka вне форума  
Непрочитано 28.07.2018, 22:18  
mike-y-k
Модератор
 
Регистрация: 04.08.2010
Адрес: Москва СЗАО
Сообщений: 11,246
Сказал спасибо: 11,165
Сказали Спасибо 3,853 раз(а) в 2,924 сообщении(ях)
mike-y-k на пути к лучшему
По умолчанию Re: SSD1306 будут работать 4 шт???

miwutka, наверное со схемы коммутации каждого дисплея в паре, их подключения к I2C,… стоит начать?
А в коде прошивки отладить отдельно вывод сначала но младший, потом на старший на первом и на втором I2C.
Если отдельно все заработает, потом уже можно совместную работу на каждую пару, а в самом конце уже на все четыре…
Пока совсем непонятно где собака порылась…
__________________
rtfm forever должно быть основой для каждого. Альтернатива грустна, поскольку метод слепого щенка успешно работает при весьма малом числе вариантов…
mike-y-k вне форума  
Сказали "Спасибо" mike-y-k
miwutka (28.07.2018)
Непрочитано 28.07.2018, 22:39  
miwutka
Почётный гражданин KAZUS.RU
 
Регистрация: 05.07.2009
Адрес: Запорожье
Сообщений: 1,531
Сказал спасибо: 309
Сказали Спасибо 53 раз(а) в 48 сообщении(ях)
miwutka на пути к лучшему
По умолчанию Re: SSD1306 будут работать 4 шт???

Спасибо! Я всё так проверил. Отдельно всё работает. Я вот что думаю. У меня 4 буффера для каждого дисплея

static uint8_t SSD1306_Buffer_1[SSD1306_WIDTH * SSD1306_HEIGHT / 8];
static uint8_t SSD1306_Buffer_2[SSD1306_WIDTH * SSD1306_HEIGHT / 8];
static uint8_t SSD1306_Buffer_3[SSD1306_WIDTH * SSD1306_HEIGHT / 8];
static uint8_t SSD1306_Buffer_4[SSD1306_WIDTH * SSD1306_HEIGHT / 8];

выходит каждый буфер хавает по 1024 кб...

Может банально не хватает памяти ОЗУ для этого? Как я понимаю ОЗУ 8 кб вроде...?
Program Size: Code=7176 RO-data=3632 RW-data=72 ZI-data=4904
Я плохо понимаю что сколько тут занимает... Первое флеш наверно а второе ОЗУ 3632 байта... а 4904 что за хрень? ))

Вообщем у меня все функции скопированы 4 раза. Они для каждого дисплея отдельно. В четвертой функции для обновления дисплея я использовал четвертый буфер. Сейчас решил третий выводить и он вывелся без проблем но с полоской справа в 2 пикселя. С полоской я в курсе что делать. Вот мне кажется что ему может ОЗУ не хватает? Попробовать один буфер для всех может использовать? Конечно так было б экономнее и правильнее, но я хотел отдельные буферы завести...

PHP код:
void SSD1306_UpdateScreen_My_4(void) {
    
uint8_t m;
    
    for (
0‹ 8m++) {
        
ssd1306_send_4(0x00,0xB0 m);
        
ssd1306_send_4(0x00,0x00); // Смещение по горизонтали na 2 pix
        
ssd1306_send_4(0x00,0x10);
        
        
/* Write multi data */
        
ssd1306_Multisend_4(0x40, &SSD1306_Buffer_3[(SSD1306_WIDTH) * m], (SSD1306_WIDTH));
    }


Последний раз редактировалось miwutka; 28.07.2018 в 22:41.
miwutka вне форума  
Непрочитано 28.07.2018, 22:40  
akegor
Гуру портала
 
Аватар для akegor
 
Регистрация: 06.05.2005
Адрес: Краснодар, возле укротворного моря.
Сообщений: 18,758
Сказал спасибо: 2,529
Сказали Спасибо 11,747 раз(а) в 5,885 сообщении(ях)
akegor на пути к лучшему
По умолчанию Re: SSD1306 будут работать 4 шт???

Сообщение от mike-y-k Посмотреть сообщение
Пока совсем непонятно где собака порылась…
Кто к ночи черта помянет...
Сообщение от mike-y-k Посмотреть сообщение
со схемы коммутации каждого дисплея в паре
Надо понимать, в паре коммутаций нет. Просто обращение по разным адресам.
Сообщение от miwutka Посмотреть сообщение
Любой дисплей который вешаю именно на I2C2 с адресом 0х7А вот так непонятно показывает.
Скорее всего виноват копипаст. Вы же копипастом размножали работу с экранами? Внимательно проверьте.

А к собакам какие могут быть претензии?!

ПЫСЫ. Если грех на неправильность буферов - перепутать их в разных вариантах.
__________________
Не бейте больно, ежели чо, ну не удержался... А вааще,
"Мы за все хорошее, против всей х..., По лугам некошеным чтобы шли ступни,
Чтобы миром правила правда, а не ложь, Мы за все хорошее, нас не на...!
..." (Ленинград)
Я не несу ответственности за свои действия в Вашей голове.

Последний раз редактировалось akegor; 28.07.2018 в 22:45.
akegor вне форума  
Непрочитано 28.07.2018, 22:50  
AR_Favorit
Почётный гражданин KAZUS.RU
 
Регистрация: 13.03.2010
Сообщений: 2,901
Сказал спасибо: 499
Сказали Спасибо 3,061 раз(а) в 1,425 сообщении(ях)
AR_Favorit на пути к лучшему
По умолчанию Re: SSD1306 будут работать 4 шт???

Сообщение от miwutka Посмотреть сообщение
Program Size: Code=7176 RO-data=3632 RW-data=72 ZI-data=4904
Я плохо понимаю что сколько тут занимает...
Так а почему вы не изучите основы, включающие и этот вопрос, прежде чем выносить свои проблемки на всеобщее обозрение?

Сообщение от miwutka Посмотреть сообщение
Первое флеш наверно а второе ОЗУ 3632 байта... а 4904 что за хрень? ))
"Второе" не озу, а read-only data - константы, расположенные в программной памяти.
Озу у вас - 72 байта неинициализированной памяти плюс 4904 инициализированной (включая массивы).

Если у вас перестанет что-то помещаться в память, компилятор об этом скажет. Ищите ошибку в своих текстах. Стопудово где-то данные одного дисплея пишутся в поток для другого, или в "не тот" порт.
AR_Favorit вне форума  
Сказали "Спасибо" AR_Favorit
miwutka (28.07.2018)
Непрочитано 28.07.2018, 22:55  
miwutka
Почётный гражданин KAZUS.RU
 
Регистрация: 05.07.2009
Адрес: Запорожье
Сообщений: 1,531
Сказал спасибо: 309
Сказали Спасибо 53 раз(а) в 48 сообщении(ях)
miwutka на пути к лучшему
По умолчанию Re: SSD1306 будут работать 4 шт???

Вообщем переписал чтобы первый буфер использовать под первые два дисплея, а второй под вторые два дисплея на второй шине. Теперь всё работает...
Сообщение от AR_Favorit Посмотреть сообщение
Если у вас перестанет что-то помещаться в память, компилятор об этом скажет.
Ну я тож так думал, но малоли... Я ж умею чудить... Завтра на SPI еще два дисплея буду вешать...
miwutka вне форума  
 

Закладки
Опции темы

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
S7-200 CPU222 КАК РАБОТАТЬ С HSC ? rihkov Производственное оборудование 1 07.03.2012 11:07
[Решено] Сменил материнку на P4P800SE - перестал работать программато Владимир Ремонт оргтехники 4 07.04.2005 08:24
как работать с EEPROM в КР1878ВЕ1? Maxoid Микроконтроллеры, АЦП, память и т.д 1 17.12.2003 17:16


Часовой пояс GMT +4, время: 12:30.


Powered by vBulletin® Version 3.8.4
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd. Перевод: zCarot