Hi,
The samples for using list are BUFFER = 4, but it does not specify is that is the only size that works, and what value do you place on NRF_SPIM0->TXD.LIST
In my case I need a buffer size of 8, and 46 samples. I implemented the following, among other code, which does not seem to have any effect. Am I missing something?
#define BUFFER 8
typedef struct ArrayList {
uint8_t buffer[BUFFER];
} ArrayList_type;
ArrayList_type MyArrayList[46];
ArrayList_type MyReceiveList[46];
NRF_SPIM0->TXD.PTR = (uint32_t)MyArrayList;
NRF_SPIM0->TXD.MAXCNT = 46;
NRF_SPIM0->RXD.PTR = (uint32_t)MyReceiveList;
NRF_SPIM0->RXD.MAXCNT = 46;
nrf_spim_event_clear(NRF_SPIM0, NRF_SPIM_EVENT_ENDTX);
NRF_SPIM0->TXD.LIST = 8; //I tried as per documentation to only place a 1 here.
NRF_SPIM0->RXD.LIST = 8;
nrf_spim_task_trigger(NRF_SPIM0, NRF_SPIM_TASK_START);