<?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>nRF52 SAADC burst sampling</title><link>https://devzone.nordicsemi.com/f/nordic-q-a/72446/nrf52-saadc-burst-sampling</link><description>I am evaluating the SAADC options and I&amp;#39;m looking for sampling one input at fastest speed. Easy DMA looks promising, but my function for SAADC communication hangs, if I set 
 NRF_SAADC-&amp;gt;RESULT.MAXCNT = 2; 
 With =1 everything works fine and I can get</description><dc:language>en-US</dc:language><generator>Telligent Community 13</generator><lastBuildDate>Thu, 11 Mar 2021 11:54:42 GMT</lastBuildDate><atom:link rel="self" type="application/rss+xml" href="https://devzone.nordicsemi.com/f/nordic-q-a/72446/nrf52-saadc-burst-sampling" /><item><title>RE: nRF52 SAADC burst sampling</title><link>https://devzone.nordicsemi.com/thread/299226?ContentTypeID=1</link><pubDate>Thu, 11 Mar 2021 11:54:42 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:fa8b43c8-6ef7-4959-9856-c897543cd3b1</guid><dc:creator>Kenneth</dc:creator><description>&lt;p&gt;You can read of the different modes of operation here:&lt;br /&gt;&lt;a href="https://infocenter.nordicsemi.com/topic/com.nordic.infocenter.nrf52832.ps.v1.1/saadc.html#saadc_operationmodes"&gt;https://infocenter.nordicsemi.com/topic/com.nordic.infocenter.nrf52832.ps.v1.1/saadc.html#saadc_operationmodes&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;There is no automatic retrigger no, but I assume you can setup a timer to trigger the sample task for instance every&amp;nbsp;100us using ppi from a timer compare event -&amp;gt; sample task, and then if the saadc buffer is for instance 100bytes, you only need to handle the data every 100us * 50 = 5ms in the saadc callback handler (every sample take up 2bytes of the buffer). You should get 100kHz this way.&lt;/p&gt;
&lt;p&gt;Figure 4 should show how this can be done, only thing missing from that figure is the ppi channel is triggering the sample task from a timer. The end event can trigger the saadc callback so you may handle the data and prepare a new pointer to next buffer that should be used by the saadc.&lt;/p&gt;
&lt;p&gt;Kenneth&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: nRF52 SAADC burst sampling</title><link>https://devzone.nordicsemi.com/thread/299210?ContentTypeID=1</link><pubDate>Thu, 11 Mar 2021 10:39:25 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:7369bbff-a07e-41e5-9788-bd80cdd21a75</guid><dc:creator>Andreas52</dc:creator><description>&lt;p&gt;Thanks for clarification. So, there is no automatic retrigger of a next sample task with a DONE event. Is there an example sketch available to see the maximum sample rate for one input channel? Do I need to wait for the DONE event before calling SAMPLE task again?&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: nRF52 SAADC burst sampling</title><link>https://devzone.nordicsemi.com/thread/298440?ContentTypeID=1</link><pubDate>Mon, 08 Mar 2021 14:57:57 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:d017bd41-b383-48ba-b37b-0508869db5ae</guid><dc:creator>Kenneth</dc:creator><description>&lt;p&gt;Hi,&lt;/p&gt;
&lt;p&gt;If you set MAXCNT to 2, then you need to call SAMPLE task two times before END event will trigger. You may get DONE events&amp;nbsp;for each sample.&lt;/p&gt;
&lt;p&gt;Kenneth&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item></channel></rss>