Hi,
We are trying to transmit a single byte over SPIM using easyDMA but our logic analyzer shows that 16 bits are being clocked out. The first 8 are our message and the second 8 are unknown (possibly the over-read char?). This can be reproduced with the spi_master example in the nrf52 0.9.1 SDK by enabling DMA and configuring 1 byte transmissions:
spi_master/main.c
Replace line 42 with: #define TX_RX_MSG_LENGTH 1
spi_master/config/spi_master_pca10036/nrf_drv_config.h
Replace line 128 with: #define SPI0_USE_EASY_DMA 1
Replace line 138 with: #define SPI1_ENABLE 0
patchfile: spi_master.patch
The project will now attempt to send the byte 0x00 over spi with easyDMA.
Logic trace of what we are seeing.: SPIM_EasyDMA_1Byte_Tx.logicdata
Any Idea what is happening here and how we might be able to send 1 byte over SPI & DMA without the 8 extra clock cycles?