ardnew / ILI9341-STM32-HAL

ILI9341 color TFT display and touchscreen driver for STM32 using HAL SPI with DMA
MIT License
85 stars 17 forks source link

How can it be using DMA if the HAL_SPI_Transmit_DMA function is not used? #7

Closed rtek1000 closed 9 months ago

rtek1000 commented 1 year ago

Hi,

void ili9341_spi_write_command(ili9341_t *lcd,
    ili9341_spi_slave_t spi_slave, uint8_t command)
{
  __SLAVE_SELECT(lcd, spi_slave);

  HAL_GPIO_WritePin(lcd->data_command_port, lcd->data_command_pin, __GPIO_PIN_CLR__);
  HAL_SPI_Transmit(lcd->spi_hal, &command, sizeof(command), __SPI_MAX_DELAY__);

  __SLAVE_RELEASE(lcd, spi_slave);
}

void ili9341_spi_write_data(ili9341_t *lcd,
    ili9341_spi_slave_t spi_slave, uint16_t data_sz, uint8_t data[])
{
  __SLAVE_SELECT(lcd, spi_slave);

  HAL_GPIO_WritePin(lcd->data_command_port, lcd->data_command_pin, __GPIO_PIN_SET__);
  HAL_SPI_Transmit(lcd->spi_hal, data, data_sz, __SPI_MAX_DELAY__);

  __SLAVE_RELEASE(lcd, spi_slave);
}

Reference: https://visualgdb.com/tutorials/arm/stm32/spi/

ardnew commented 1 year ago

Those functions you reference are from the lower level SPI driver.

DMA coordination is performed higher in the graphics driver:

https://github.com/ardnew/ILI9341-STM32-HAL/blob/58a295d3d4bc2d55bea13989c6f9ea798504735b/ILI9341/ili9341_gfx.c#L115-L134

On Tue, Jun 27, 2023, 16:47 rtek1000 @.***> wrote:

Hi,

void ili9341_spi_write_command(ili9341_t *lcd, ili9341_spi_slave_t spi_slave, uint8_t command) { __SLAVE_SELECT(lcd, spi_slave);

HAL_GPIO_WritePin(lcd->data_command_port, lcd->data_command_pin, GPIO_PIN_CLR); HAL_SPI_Transmit(lcd->spi_hal, &command, sizeof(command), SPI_MAX_DELAY);

__SLAVE_RELEASE(lcd, spi_slave); } void ili9341_spi_write_data(ili9341_t *lcd, ili9341_spi_slave_t spi_slave, uint16_t data_sz, uint8_t data[]) { __SLAVE_SELECT(lcd, spi_slave);

HAL_GPIO_WritePin(lcd->data_command_port, lcd->data_command_pin, GPIO_PIN_SET); HAL_SPI_Transmit(lcd->spi_hal, data, data_sz, SPI_MAX_DELAY);

__SLAVE_RELEASE(lcd, spi_slave); }

Reference: https://visualgdb.com/tutorials/arm/stm32/spi/

— Reply to this email directly, view it on GitHub https://github.com/ardnew/ILI9341-STM32-HAL/issues/7, or unsubscribe https://github.com/notifications/unsubscribe-auth/AA5I3NZ2PIQMDLXYYMXQ4MTXNNIILANCNFSM6AAAAAAZWFZOI4 . You are receiving this because you are subscribed to this thread.Message ID: @.***>