How do I transfer more than 1 byte at once via SPI bus? I have an AD5685R DAC that I am trying to communicate with over SPI. Per the datasheet,


  ...These [24] bits are transferred to the input register on the 24 falling edges of SCLK and are updated on the rising edge of /SYNC


where /SYNC is used as chip-select.

I believe Arduino's SPI.transfer waits to receive 8 bits after sending 8 bits. But for this particular DAC, I need to send 24 straight bits on 24 clock edges before releasing the chip-select. Is this possible?
I believe Arduino's SPI.transfer waits to receive 8 bits after sending 8 bits.


Incorrect. With SPI, a byte is clocked in at the same time as a byte is clocked out. It may be that this byte is simply a dummy byte though, if the slave has nothing to say.

So for 24 bits, simply clock out 3 bytes without deasserting the select. Since SPI is a synchronous protocol there should be no issue with having a delay in between bytes provided the select is maintained.