Хочу подключить дисплей с контроллером STM7735, такой:
128*160 пикселей.
Микроконтроллер: STM32F103RB.
Подключаю по даташиту:
RESET, CS - обычные порты ввода-вывода STM32. SDA и SCK, как я понял (несмотря на их названия как у I2C), подключаются к SPI. У меня SPI1, SCK - PA5, SDA - PA7.
Инициализация SPI:
static void MX_SPI1_Init(void)
{
/* USER CODE BEGIN SPI1_Init 0 */
/* USER CODE END SPI1_Init 0 */
/* USER CODE BEGIN SPI1_Init 1 */
/* USER CODE END SPI1_Init 1 */
/* SPI1 parameter configuration*/
hspi1.Instance = SPI1;
hspi1.Init.Mode = SPI_MODE_MASTER;
hspi1.Init.Direction = SPI_DIRECTION_2LINES;
hspi1.Init.DataSize = SPI_DATASIZE_8BIT;
hspi1.Init.CLKPolarity = SPI_POLARITY_LOW;
hspi1.Init.CLKPhase = SPI_PHASE_2EDGE;
hspi1.Init.NSS = SPI_NSS_SOFT;
hspi1.Init.BaudRatePrescaler = SPI_BAUDRATEPRESCALER_4;
hspi1.Init.FirstBit = SPI_FIRSTBIT_MSB;
hspi1.Init.TIMode = SPI_TIMODE_DISABLE;
hspi1.Init.CRCCalculation = SPI_CRCCALCULATION_DISABLE;
hspi1.Init.CRCPolynomial = 10;
if (HAL_SPI_Init(&hspi1) != HAL_OK)
{
Error_Handler();
}
/* USER CODE BEGIN SPI1_Init 2 */
/* USER CODE END SPI1_Init 2 */
}
Не кидайте камнями, да, я использую STM32CUBE.
Проблему даже не знаю как сформулировать более точно - дисплей не работает... Подсветка есть. Поскольку связь по SPI однонаправленная, то сложно понять, есть ли в инициализационной последовательности проблема, либо в чем-то другом дело...
Верно ли я понимаю, что SDA/SCK это все же SPI? Может есть пример работающий, чтобы сходу залить и проверить, хотя я понимаю, что вряд ли именно под мой контроллер окажется неожиданно готовое решение)
В общем буду рад любым советам и помощи!!!
Добрый день!
Не кидайте камнями, да, я использую STM32CUBE.
У меня вообще нет религиозной ненависти к Cube и HAL ) Все зависит от задачи.
Так, давайте начнем с изменения:
hspi1.Init.CLKPhase = SPI_PHASE_1EDGE;
Верно ли я понимаю, что SDA/SCK это все же SPI?
А, ну и да - дисплей по SPI работает, все верно.
hspi1.Init.CLKPhase = SPI_PHASE_1EDGE;
Блин, ну как так... Я все перепроверил по 100 раз перед созданием темы, в итоге реально в этом и оказалась проблема, дисплей заработал... Aveal, спасибо...)
С работой теперь все ОК, но отрисовывает очень медленно... Можете помочь? Или создать новую тему лучше?
С работой теперь все ОК, но отрисовывает очень медленно... Можете помочь? Или создать новую тему лучше?
Рад, что заработало! Да, лучше отдельную.

