Easyelectronics.ru

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

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



    • JLCPCB - Прототипы 10 PCBs всего за 2$ (100*100mm, 2-layer)
    • Как мы делаем платы, смотрите на YouTube
    • Крупнейшая китайская фабрика прототипов. 300000+ заказчиков и 10000+ заказов в день!
    • LCSC - Крупнейший китайский онлайн магазин комплектующих.

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

Зарегистрирован: 19 сен 2017, 18:21
Сообщения: 20
Здравствуйте! У меня проблема, я ничего не знаю))
Есть у меня 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
Сообщения: 20
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
Сообщения: 20
Попробовал вот так запустить экран тоже не заработало
Код:
  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 часов


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

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


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

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

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