<?xml version="1.0" encoding="UTF-8" ?>
<?xml-stylesheet type="text/xsl" href="https://devzone.nordicsemi.com/cfs-file/__key/system/syndication/rss.xsl" media="screen"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Receive 1 byte from SPI</title><link>https://devzone.nordicsemi.com/f/nordic-q-a/73956/receive-1-byte-from-spi</link><description>I want to receive only 1 byte (Master in Slave out) without sending any bytes using using SPI. However when I monitor the SPI clock it produces 16 clock pulses. Although my application works, I would prefer it produces only 8 clock pulses. 
 When I use</description><dc:language>en-US</dc:language><generator>Telligent Community 13</generator><lastBuildDate>Wed, 14 Apr 2021 12:51:48 GMT</lastBuildDate><atom:link rel="self" type="application/rss+xml" href="https://devzone.nordicsemi.com/f/nordic-q-a/73956/receive-1-byte-from-spi" /><item><title>RE: Receive 1 byte from SPI</title><link>https://devzone.nordicsemi.com/thread/304827?ContentTypeID=1</link><pubDate>Wed, 14 Apr 2021 12:51:48 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:a312cf1f-c574-4315-8626-49775e77f71e</guid><dc:creator>Malcolm</dc:creator><description>&lt;p&gt;Thank you for your rapid response. I tried slowing the clock, but this still did not give reliable results. I have therefore returned to my original solution to send byte by byte and insert a gap (conviently about correct given delay to process the SPI event). As I only use this during initialisation it is not an issue. This means I can use maximum speed for SPI and a single call to retrieve the 9 bytes of the data sample.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Receive 1 byte from SPI</title><link>https://devzone.nordicsemi.com/thread/304660?ContentTypeID=1</link><pubDate>Tue, 13 Apr 2021 17:28:36 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:ba6cee7a-c297-41fc-8f7c-265537a3b704</guid><dc:creator>hmolesworth</dc:creator><description>&lt;p&gt;Have a look at this&amp;nbsp;&lt;a href="https://devzone.nordicsemi.com/f/nordic-q-a/69107/spi-transaction-manager-transfer-results-in-unexpected-transaction-length/283326#283326"&gt;unexpected-transaction-length&lt;/a&gt;. There is an errata (58) for the nRF52832 causing the effect you observe. The 10uS can be achieved by slowing down the SPI transfer clock. For the delay this note might help (I wrote this for a different ADS chip):&lt;/p&gt;
&lt;p&gt;&lt;pre class="ui-code" data-mode="c_cpp"&gt;// Sending Multi-Byte Commands
// The ADS1291, ADS1292, and ADS1292R serial interface decodes commands in bytes and requires 4 tCLK cycles
// to decode and execute. Therefore, when sending multi-byte commands, a 4 tCLK period must separate the end of
// one byte (or opcode) and the next.
// Assume CLK is 512 kHz, then tSDECODE (4 tCLK) is 7.8125 us. When SCLK is 16 MHz, one byte can be
// transferred in 500 ns. This byte-transfer time does not meet the tSDECODE specification; therefore, a delay must be
// inserted so the end of the second byte arrives 7.3125 us later. If SCLK is 1 MHz, one byte is transferred in 8 &amp;#239;&amp;#191;&amp;#189;s.
// Because this transfer time exceeds the tSDECODE specification, the processor can send subsequent bytes without
// delay. In this later scenario, the serial port can be programmed to move from single-byte transfer per cycle to
// multiple bytes.&lt;/pre&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item></channel></rss>