DMA to 8-bit shift register for GPIO pourposes
Posted: Sun Jun 10, 2018 6:55 pm
Much of what I do involves using LCD's. Sadly I have put off learning how to use DMA.
I saw this great post by ESP_Sprite: https://esp32.com/viewtopic.php?f=17&t=3188, that got me thinking...
It seems to me this is the only way to go for LCD's is to have the processor update the screen in the background. The LCD's we use have a 8-bit interface. I don't want to chew up I/O pins to drive the LCD, so I was thinking maybe I could use the I2S to feed a 8-bit shift register to give me my 8-bit data lines. The only thing left is how to deal with the CS & WR signal on the LCD.
The other thing that may be an issue is ram. I may be wrong but I think i need to create an array in ram the same size as the LCD panel (800x480) for the DMA to burp all this data out. That may why this would not work. If i use the ESP32-WROVER with its external 4MB ram, can I use this ram to feed the DMA?
Is there something wrong with my concept of this?
I saw this great post by ESP_Sprite: https://esp32.com/viewtopic.php?f=17&t=3188, that got me thinking...
It seems to me this is the only way to go for LCD's is to have the processor update the screen in the background. The LCD's we use have a 8-bit interface. I don't want to chew up I/O pins to drive the LCD, so I was thinking maybe I could use the I2S to feed a 8-bit shift register to give me my 8-bit data lines. The only thing left is how to deal with the CS & WR signal on the LCD.
The other thing that may be an issue is ram. I may be wrong but I think i need to create an array in ram the same size as the LCD panel (800x480) for the DMA to burp all this data out. That may why this would not work. If i use the ESP32-WROVER with its external 4MB ram, can I use this ram to feed the DMA?
Is there something wrong with my concept of this?