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

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

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

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

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

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


 
Опции темы
Непрочитано 22.09.2016, 00:32  
miwutka
Почётный гражданин KAZUS.RU
 
Регистрация: 05.07.2009
Адрес: Запорожье
Сообщений: 1,531
Сказал спасибо: 309
Сказали Спасибо 53 раз(а) в 48 сообщении(ях)
miwutka на пути к лучшему
По умолчанию Re: OLED ssd1306 + STM32f030f4

Сообщение от dosikus Посмотреть сообщение
#define SSD1306_OWN_ADDRESS 0x3C// 0x3D void ssd1306_send(uint8_t control_byte, uint8_t data) { I2C1-›CR2 = I2C_CR2_AUTOEND | (2‹‹16) | (SSD1306_OWN_ADDRESS‹‹1); /* Check Tx empty */ while (!(I2C1-›ISR & I2C_ISR_TXE) ); I2C1-›TXDR = control_byte; I2C1-›CR2 |= I2C_CR2_START; while (!(I2C1-›ISR & I2C_ISR_TXIS) ); I2C1-›TXDR = data; }
Разобрался с даташитом. Понял что мне дали готовый код )) Теперь буду разбираться как формировать изображение... Если у кого будет "натхнення" напишите плиз как его формировать)) Там читать кучу... ))
Миниатюры:
Нажмите на изображение для увеличения
Название: 20160921_232658.jpg
Просмотров: 0
Размер:	3.99 Мб
ID:	101859  
Реклама:

Последний раз редактировалось miwutka; 22.09.2016 в 00:34.
miwutka вне форума  
Непрочитано 22.09.2016, 00:32  
miwutka
Почётный гражданин KAZUS.RU
 
Регистрация: 05.07.2009
Адрес: Запорожье
Сообщений: 1,531
Сказал спасибо: 309
Сказали Спасибо 53 раз(а) в 48 сообщении(ях)
miwutka на пути к лучшему
По умолчанию Re: OLED ssd1306 + STM32f030f4

STM32F0, шо такое снипет? Даташит смотрел раз 5... Читаю чужой код и пытаюсь понять по даташиту почему именно так пишут. Вот разобрался с инитом... ))) Далее нужно очистить дисплей и выводить изобр....
miwutka вне форума  
Непрочитано 22.09.2016, 01:22  
miwutka
Почётный гражданин KAZUS.RU
 
Регистрация: 05.07.2009
Адрес: Запорожье
Сообщений: 1,531
Сказал спасибо: 309
Сказали Спасибо 53 раз(а) в 48 сообщении(ях)
miwutka на пути к лучшему
По умолчанию Re: OLED ssd1306 + STM32f030f4

Думаю вот так выводить изображение. Гляньте плиз. Еще не проверял.
PHP код:


typedef enum 
{
    
SSD1306_COLOR_BLACK 0x00/*!‹ Black color, no pixel */
    
SSD1306_COLOR_WHITE 0x01  /*!‹ Pixel is set. Color depends on LCD */
SSD1306_COLOR_t;

void SSD1306_Fill(SSD1306_COLOR_t color) {
    
/* Set memory */
    
memset(SSD1306_Buffer, (color == SSD1306_COLOR_BLACK) ? 0x00 0xFFsizeof(SSD1306_Buffer));
}

void     ssd1306_Multisend(uint8_t control_byteuint8_tdatauint16_t count)
        {
         
uint8_t i;
        
I2C1-›CR2 =  I2C_CR2_AUTOEND | (2‹‹16) | (SSD1306_I2C_ADDR‹‹1); 
        
            
/* Check Tx empty */
      
while (!(I2C1-›ISR I2C_ISR_TXE) );
    
     
I2C1-›TXDR control_byte
     
I2C1-›CR2 |= I2C_CR2_START
        
        
         for (
0‹ counti++) {
            while (!(
I2C1-›ISR I2C_ISR_TXIS) );
            
I2C1-›TXDR data[i]; 
         }
            
        }

void SSD1306_UpdateScreen_My(void) {
    
uint8_t m;
    
    for (
0‹ 8m++) {
        
ssd1306_send(0x00,0xB0 m);
        
ssd1306_send(0x00,0x00);
        
ssd1306_send(0x00,0x10);
        
        
/* Write multi data */
        
ssd1306_Multisend(0x40, &SSD1306_Buffer[SSD1306_WIDTH m], SSD1306_WIDTH);
    }

miwutka вне форума  
Непрочитано 22.09.2016, 02:22  
miwutka
Почётный гражданин KAZUS.RU
 
Регистрация: 05.07.2009
Адрес: Запорожье
Сообщений: 1,531
Сказал спасибо: 309
Сказали Спасибо 53 раз(а) в 48 сообщении(ях)
miwutka на пути к лучшему
По умолчанию Re: OLED ssd1306 + STM32f030f4

Сделал чтобы экран заливался черным либо белым..... Ну теперь надо понять процесс рисования...
miwutka вне форума  
Непрочитано 22.09.2016, 09:08  
dosikus
Гуру портала
 
Аватар для dosikus
 
Регистрация: 20.11.2004
Сообщений: 10,015
Сказал спасибо: 936
Сказали Спасибо 2,270 раз(а) в 1,563 сообщении(ях)
dosikus на пути к лучшему
По умолчанию Re: OLED ssd1306 + STM32f030f4

Код:
void     ssd1306_Multisend(uint8_t control_byte, uint8_t* data, uint16_t count) 
        { 
         uint8_t i; 
        I2C1-›CR2 =  I2C_CR2_AUTOEND | (2‹‹16) | (SSD1306_I2C_ADDR‹‹1);  
         
            /* Check Tx empty */ 
      while (!(I2C1-›ISR & I2C_ISR_TXE) ); 
     
     I2C1-›TXDR = control_byte;  
     I2C1-›CR2 |= I2C_CR2_START;  
         
         
         for (i = 0; i ‹ count; i++) { 
            while (!(I2C1-›ISR & I2C_ISR_TXIS) ); 
            I2C1-›TXDR = data[i];  
         } 
             
        }
Так не получиться.
Во первых вот это счетчик передаваемых после адреса байт

Код:
 I2C1-›CR2 =  I2C_CR2_AUTOEND | (2‹‹16) | (SSD1306_I2C_ADDR‹‹1);
Во вторых он только на 256
Цитата:
Bits 23:16 NBYTES[7:0]: Number of bytes
The number of bytes to be transmitted/received is programmed there.
Можно попробовать через DMA .
Заливка одним цветом
__________________
Осторожно , злой кот

Последний раз редактировалось dosikus; 22.09.2016 в 09:11.
dosikus вне форума  
Сказали "Спасибо" dosikus
miwutka (22.09.2016)
Непрочитано 22.09.2016, 09:51  
miwutka
Почётный гражданин KAZUS.RU
 
Регистрация: 05.07.2009
Адрес: Запорожье
Сообщений: 1,531
Сказал спасибо: 309
Сказали Спасибо 53 раз(а) в 48 сообщении(ях)
miwutka на пути к лучшему
По умолчанию Re: OLED ssd1306 + STM32f030f4

Разобрался. Получилось выводить и строки(готовые шрифты есть), и заливка, и инвертирование точек. Ночь оказалась продуктивной )))
Теперь надо подумать как DMA использовать для дисплея... При обновлении всего экрана заметно как он заливается чуток. Частота шини 400 кГц. Если увеличить частоту это может ускорить заливку?
miwutka вне форума  
Непрочитано 22.09.2016, 10:01  
dosikus
Гуру портала
 
Аватар для dosikus
 
Регистрация: 20.11.2004
Сообщений: 10,015
Сказал спасибо: 936
Сказали Спасибо 2,270 раз(а) в 1,563 сообщении(ях)
dosikus на пути к лучшему
По умолчанию Re: OLED ssd1306 + STM32f030f4

В снипетсах есть примеры с DMA
снипетсы http://www.st.com/content/st_com/en/...oductId=LN1898

Расчет таймингов i2c http://www.st.com/en/embedded-softwa...-stm32126.html
__________________
Осторожно , злой кот
dosikus вне форума  
Сказали "Спасибо" dosikus
miwutka (22.09.2016)
Непрочитано 22.09.2016, 12:13  
miwutka
Почётный гражданин KAZUS.RU
 
Регистрация: 05.07.2009
Адрес: Запорожье
Сообщений: 1,531
Сказал спасибо: 309
Сказали Спасибо 53 раз(а) в 48 сообщении(ях)
miwutka на пути к лучшему
По умолчанию Re: OLED ssd1306 + STM32f030f4

на 1.24 МГц работает хорошо... Буду ДМА подключать
miwutka вне форума  
Непрочитано 22.09.2016, 12:14  
miwutka
Почётный гражданин KAZUS.RU
 
Регистрация: 05.07.2009
Адрес: Запорожье
Сообщений: 1,531
Сказал спасибо: 309
Сказали Спасибо 53 раз(а) в 48 сообщении(ях)
miwutka на пути к лучшему
По умолчанию Re: OLED ssd1306 + STM32f030f4

А скажите код реально закрыть так чтоб не считали? ))) мне этот дисплей больше нравиться чем HD44780... У него ероглифы не пробегают. Скоро прийдут 2.4 дюйма ЖК. Еще их буду юзать...

Последний раз редактировалось miwutka; 22.09.2016 в 12:18.
miwutka вне форума  
Непрочитано 22.09.2016, 12:31  
miwutka
Почётный гражданин KAZUS.RU
 
Регистрация: 05.07.2009
Адрес: Запорожье
Сообщений: 1,531
Сказал спасибо: 309
Сказали Спасибо 53 раз(а) в 48 сообщении(ях)
miwutka на пути к лучшему
По умолчанию Re: OLED ssd1306 + STM32f030f4

Program Size: Code=4076 RO-data=10472 RW-data=76 ZI-data=2732 - сколько прошивка моя занимает в мк места? 10 кб?
miwutka вне форума  
 

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

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

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

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

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
OLED из ЖК 1602 mikesmith Делимся опытом 0 19.05.2016 17:34
LCD или OLED графический дисплей? NecroSS Электроника - это просто 0 06.08.2010 21:33
OLED индикаторы(возможно, от мобильных телефонов, 64х48 и более) Savrik Информация по радиокомпонентам 11 30.06.2010 12:17
Pictiva 128x64 (SSD0323) OLED Module Proteus VSM Model OttoStirliz Микроконтроллеры, АЦП, память и т.д 28 02.04.2008 17:44


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


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