(spam post deleted by moderator)
Has anyone used DMA with SPI to help with OLED display write speeds?
I am using a MEGA with a 1351 128x96 OLED.
The AVR Arduinos do not have DMA.
Have a look at Nick Gammon's discussion about interrupts and SPI. It's about as close to DMA as you'll get.
There is a video showing an oled driven by an SPI DMA from an Arduino DUE. I think you could ask D.White (the video author) some explanations and maybe some code:
BTW, there is an SPI library which leverages the DMA potential for this board (select Sam3x):
ard_newbie:
There is a video showing an oled driven by an SPI DMA from an Arduino DUE. I think you could ask D.White (the video author) some explanations and maybe some code:https://www.youtube.com/watch?v=itjabeJLdsQ
BTW, there is an SPI library which leverages the DMA potential for this board (select Sam3x):
Indeed - but OP is using a Mega (based on the atmega2560, an AVR) - this does not have DMA. I realize westfw said this, but I think it needs to be underlined here. There is NO WAY to do DMA with a Mega. Using the SPI interrupts will not help here - the SPI library sends with a busywait loop, so it's not wasting any time between bytes.
Have you set the SPI sck frequency as high as you can?
The boards based on the atmel SAM microcontroller (and many other 32-bit ARM microcontroller boards) do, but not the AVRs.