Easyelectronics.ru

Электроника для всех
Текущее время: 26 апр 2018, 01:08

Часовой пояс: UTC + 5 часов



    • JLCPCB - Платы прототипов всего за 2$ c бесплатной доставкой (при первом заказе)
    • 10 PCBs за $2 для 2 слоев, $15 для 4 слойной, $74 для 6 слойной платы.
    • Крупнейший китайский производитель прототипных плат. 290000+ клиентов & 8000+ заказов в день!
    • LCSC - Крупнейший китайский онлайн магазин радиодеталей.

Начать новую тему Ответить на тему  [ Сообщений: 3 ] 
Автор Сообщение
 Заголовок сообщения: Подключаю дисплей к STM32F303 i2c
СообщениеДобавлено: 30 дек 2017, 22:49 
Только пришел

Зарегистрирован: 19 сен 2017, 18:21
Сообщения: 7
Здравствуйте! У меня проблема, я ничего не знаю))
Есть у меня STM32 Discovery f303vct6 и я не давно купил к нему дисплей на контроллере ssd1306 по нему все расписано есть готовые библиотеки для контроллеров F4,F0 но для F3 что то не нашел. Не долго думая я решил что уж там всего то надо переделать в библиотеке инициализацию i2c но тут меня ждала неудача) проект я генерил кубом и в целом я пользуюсь HALом а в библиотеке сделано без хала, когда начал переделывать увидел место void ssd1306_I2C_Write(I2C_TypeDef* I2Cx, uint8_t address, uint8_t reg, uint8_t data) там есть регистр самого экрана uint8_t reg я не могу понять как мне его передавать халом и вообще могу ли я это делать, вот аналог халовский HAL_I2C_Master_Transmit(I2C_HandleTypeDef *hi2c, uint16_t DevAddress, uint8_t *pData, uint16_t Size, uint32_t Timeout); я не делал ничего раньше с айтуси простите за глупые вопросы.


Последний раз редактировалось aminovilshat 31 дек 2017, 15:37, всего редактировалось 1 раз.

Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Подключаю дисплей к STM32F303 i2c
СообщениеДобавлено: 30 дек 2017, 22:53 
Только пришел

Зарегистрирован: 19 сен 2017, 18:21
Сообщения: 7
void ssd1306_I2C_Write(I2C_TypeDef* I2Cx, uint8_t address, uint8_t reg, uint8_t data) {
ssd1306_I2C_Start(I2Cx, address, I2C_TRANSMITTER_MODE, I2C_ACK_DISABLE);
ssd1306_I2C_WriteData(I2Cx, reg);
ssd1306_I2C_WriteData(I2Cx, data);
ssd1306_I2C_Stop(I2Cx);
}

void ssd1306_I2C_WriteData(I2C_TypeDef* I2Cx, uint8_t data) {
/* Wait till I2C is not busy anymore */
ssd1306_I2C_Timeout = ssd1306_I2C_TIMEOUT;
while (!(I2Cx->SR1 & I2C_SR1_TXE) && ssd1306_I2C_Timeout) {
ssd1306_I2C_Timeout--;
}

/* Send I2C data */
I2Cx->DR = data;
}
вот не большой листинг этой библиотеки по ней получается что они в начале отпровляют регистр а потом отправляют что в него записать, как мне лучше это сделать при помощи хала?


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Подключаю дисплей к STM32F303 i2c
СообщениеДобавлено: 31 дек 2017, 01:45 
Только пришел

Зарегистрирован: 19 сен 2017, 18:21
Сообщения: 7
Попробовал вот так запустить экран тоже не заработало
Код:
  while (1)
  {
  Write_register(COMAND,SSD1306_DISPLAYON);
  HAL_Delay(100);
  }
}
void Write_register(uint8_t register_pointer, uint16_t register_value)
{
    uint8_t data[3];

    data[0] = register_pointer;     
    data[1] = register_value>>8;   
    data[2] = register_value;       

    HAL_I2C_Master_Transmit(&hi2c2, 0x78, data, 3, 100);  // data is the start pointer of our array
}
//main.h
#define SSD1306_DISPLAYON 0xAF
#define COMAND      0x00


Вернуться к началу
 Профиль  
 
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 3 ] 

Часовой пояс: UTC + 5 часов


Кто сейчас на конференции

Сейчас этот форум просматривают: Hold


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

Найти:
Перейти:  

Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
Русская поддержка phpBB