diff --git a/ili9341.c b/ili9341.c index f423b19..61cb305 100644 --- a/ili9341.c +++ b/ili9341.c @@ -452,6 +452,7 @@ void ili9341_read_memory(int x, int y, int w, int h, int len, uint16_t *out) // Skip SPI rx buffer while (SPI_RX_IS_NOT_EMPTY) (void)SPI_READ_DATA; // Init Rx DMA buffer, size, mode (spi and mem data size is 8 bit) + chSysLock(); dmaStreamSetMemory0(dmarx, rgbbuf); dmaStreamSetTransactionSize(dmarx, data_size); dmaStreamSetMode(dmarx, rxdmamode | STM32_DMA_CR_PSIZE_BYTE | STM32_DMA_CR_MSIZE_BYTE | @@ -467,6 +468,7 @@ void ili9341_read_memory(int x, int y, int w, int h, int len, uint16_t *out) // Wait DMA completion dmaWaitCompletion(dmatx); dmaWaitCompletion(dmarx); + chSysUnlock(); CS_HIGH; // Parce recived data