<?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>Drive SS(CS) in SPI manually with easyDMA</title><link>https://devzone.nordicsemi.com/f/nordic-q-a/27269/drive-ss-cs-in-spi-manually-with-easydma</link><description>Hello I am using nRF52832, sdk v14.1, pca10040. 
 With regard to SPI, I am using the spi master in nrf_drv_spi.c to handle multi-byte spi transactions. I am able to do this successfully and the driver sets the SS pin low during the transaction and then</description><dc:language>en-US</dc:language><generator>Telligent Community 13</generator><lastBuildDate>Fri, 04 Jan 2019 23:31:50 GMT</lastBuildDate><atom:link rel="self" type="application/rss+xml" href="https://devzone.nordicsemi.com/f/nordic-q-a/27269/drive-ss-cs-in-spi-manually-with-easydma" /><item><title>RE: Drive SS(CS) in SPI manually with easyDMA</title><link>https://devzone.nordicsemi.com/thread/164067?ContentTypeID=1</link><pubDate>Fri, 04 Jan 2019 23:31:50 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:43898d29-749b-4e3c-982d-91d4b3bc98f7</guid><dc:creator>noob_with_ucontrollers</dc:creator><description>&lt;p&gt;&lt;a href="https://devzone.nordicsemi.com/members/ed"&gt;Ed&lt;/a&gt; May I ask you how you fixed the issue you describe in Q4??&amp;nbsp;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Drive SS(CS) in SPI manually with easyDMA</title><link>https://devzone.nordicsemi.com/thread/164066?ContentTypeID=1</link><pubDate>Fri, 04 Jan 2019 23:30:15 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:071bf2ee-9ece-4411-a291-0b11d9034e06</guid><dc:creator>noob_with_ucontrollers</dc:creator><description>&lt;p&gt;&lt;a href="https://devzone.nordicsemi.com/members/joh2"&gt;Jørgen Holmefjord&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;I am facing the same problem as in Q4 of this post. When I use (set and clear) the P0.6 pin 6 as a GPIO on my nrf52382 based custom PCB, it works fine. The LOW value is in millivolts and HIGH is 3.3V as should be. But as soon as I write the SPI code and configure P6 as &lt;strong&gt;spi_config.ss pin&lt;/strong&gt;, I have problems setting it LOW... the value of P6 gets to 0.7 V which is a floating value but does not get LOW properly. Is this something with the SPI master example??&amp;nbsp;&lt;br /&gt;&lt;br /&gt;I am using SDK 15.2, Keil uVision 5.0.&amp;nbsp;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Drive SS(CS) in SPI manually with easyDMA</title><link>https://devzone.nordicsemi.com/thread/107662?ContentTypeID=1</link><pubDate>Wed, 15 Nov 2017 12:36:50 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:a08c6eb9-030a-4412-b74a-a1f691956305</guid><dc:creator>J&amp;#248;rgen Holmefjord</dc:creator><description>&lt;p&gt;Hi,&lt;/p&gt;
&lt;p&gt;Q1: Did you mean 3 * 32 &lt;strong&gt;bits&lt;/strong&gt;? If you have a look at the &lt;a href="http://infocenter.nordicsemi.com/topic/com.nordic.infocenter.nrf52832.ps.v1.1/spim.html?cp=2_1_0_30_1_0#topic"&gt;EasyDMA list documentation&lt;/a&gt; of SPIM peripheral, you can see that you have setup 4 * 24 bits in your buffer. If you want 3 * 32 bits, you should swap 3 and 4 in your arrays.&lt;/p&gt;
&lt;p&gt;Q2: If the SPIM peripheral is setup to receive the data, the data will be stored in the array in RAM. As long as you wait until the transfer is completed before reading the array, this should be fine. Make sure you don&amp;#39;t start a new SPI transfer before you have changed the buffer pointer, or are done processing the buffer.&lt;/p&gt;
&lt;p&gt;Q3: Here you are mixing accessing the registers directly with functions from the driver. If the driver is setup to not use EasyDMA, calling the &lt;code&gt;nrf_drv_spi_xfer()&lt;/code&gt; function will setup the transfer using the legacy SPI peripheral. You should either setup the SPI master driver to use EasyDMA, or you need to configure the entire SPIM peripheral using the registers.&lt;/p&gt;
&lt;p&gt;Q4: The SS pin should not be &amp;quot;locked&amp;quot; by the driver, the driver use the same &lt;code&gt;nrf_gpio_pin_set()&lt;/code&gt;/&lt;code&gt;nrf_gpio_pin_clear()&lt;/code&gt; pins to set and clear the SS pin as you are using. Are you sure that you are checking the correct pin? Have you tried with a different GPIO for the SS pin?&lt;/p&gt;
&lt;p&gt;Best regards,&lt;/p&gt;
&lt;p&gt;Jørgen&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item></channel></rss>