It seems that this is not straightforward to do a minimal example of this, as it requires modifying SPIClass::transfer, since that function explicitly sets the frame size to 7 and DMA to single-byte transfers.
I need to be able to do 16-bit...
@KurtE Thanks! I misread the pinout. Pin 38 works too! I didn't realize that both pins were PCS0. (I will update the above post to note that too). I think I've got at least the beginnings of a handle on how to accomplish some what I'm going for...
Thanks so much @jmarsh and @sicco!
@jmarsh that was a very good suggestion*, and I can indeed get CS0 to toggle on each byte.
#include <SPI.h>
#include <EventResponder.h>
#define BUF_SIZE 10
uint16_t spi_tx_buf[BUF_SIZE];
uint16_t...
@jmarsh i'd be happy to get this to work with any pin as DMA SPI-controlled CS. (My impression has been that the SPI library mostly doesn't really use the SPI peripheral to control CS pins; all the examples I've seen just toggle CS as a GPIO...
I've roughly got the asynchronous SPI.transfer(tx_buf, rx_buf, sizeof(tx_buf), event_responder) call to work , but I don't know how to get a chip-select line to toggle in between bytes/uint16s/uint32s (a feature I need to make some DACs and ADCs...