<?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>SAADC nrf52832</title><link>https://devzone.nordicsemi.com/f/nordic-q-a/54634/saadc-nrf52832</link><description>hello, I have two questions for SAADC of nrf52832 when we use nrf52832 SAADC for voltage measurement. 
 The AIN0 is connected to the pin to be measured(the voltage is about 1.5V, use SE mode, so the negative input will be shorted to ground internally</description><dc:language>en-US</dc:language><generator>Telligent Community 13</generator><lastBuildDate>Tue, 26 Nov 2019 03:42:17 GMT</lastBuildDate><atom:link rel="self" type="application/rss+xml" href="https://devzone.nordicsemi.com/f/nordic-q-a/54634/saadc-nrf52832" /><item><title>RE: SAADC nrf52832</title><link>https://devzone.nordicsemi.com/thread/221976?ContentTypeID=1</link><pubDate>Tue, 26 Nov 2019 03:42:17 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:44f81968-d7fd-4578-9f09-26fe47497f1e</guid><dc:creator>yanli_1226</dc:creator><description>&lt;p&gt;thank you ,the&amp;nbsp;&lt;span&gt;16x works better now&lt;/span&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: SAADC nrf52832</title><link>https://devzone.nordicsemi.com/thread/221818?ContentTypeID=1</link><pubDate>Mon, 25 Nov 2019 11:19:33 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:9c080f87-aa61-4921-8478-4506fe9c0d49</guid><dc:creator>haakonsh</dc:creator><description>&lt;p&gt;That looks good. I suggest you increase oversampling to at least 16x. Right now you take the average of two samples which won&amp;#39;t improve the variance much.&amp;nbsp;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: SAADC nrf52832</title><link>https://devzone.nordicsemi.com/thread/221799?ContentTypeID=1</link><pubDate>Mon, 25 Nov 2019 10:02:56 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:0381eb15-efe7-4d47-9c69-ccdee2d666e1</guid><dc:creator>yanli_1226</dc:creator><description>&lt;p&gt;&lt;span&gt;The oversampling is SAADC_OVERSAMPLE_OVERSAMPLE_Over2x&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;void nrf_drv_saadc_init(void)&lt;br /&gt;{&lt;br /&gt; uint8_t channel = 0;&lt;/p&gt;
&lt;p&gt;NRF_SAADC-&amp;gt;CH[channel].CONFIG = ((SAADC_CH_CONFIG_RESN_Bypass &amp;lt;&amp;lt; SAADC_CH_CONFIG_RESN_Pos)|&lt;br /&gt; (SAADC_CH_CONFIG_RESP_Bypass &amp;lt;&amp;lt; SAADC_CH_CONFIG_RESP_Pos)|&lt;br /&gt; (SAADC_CH_CONFIG_GAIN_Gain1_3&amp;lt;&amp;lt; SAADC_CH_CONFIG_GAIN_Pos)|&lt;br /&gt; (SAADC_CH_CONFIG_REFSEL_Internal&amp;lt;&amp;lt;SAADC_CH_CONFIG_REFSEL_Pos)|&lt;br /&gt; (SAADC_CH_CONFIG_TACQ_10us&amp;lt;&amp;lt; SAADC_CH_CONFIG_TACQ_Pos)|&lt;br /&gt;(1&amp;lt;&amp;lt; 24)|&lt;br /&gt; (SAADC_CH_CONFIG_MODE_SE&amp;lt;&amp;lt;SAADC_CH_CONFIG_MODE_Pos) ); &lt;br /&gt; NRF_SAADC-&amp;gt;CH[channel].PSELP = SAADC_CH_PSELP_PSELP_AnalogInput0; &lt;br /&gt; NRF_SAADC-&amp;gt;CH[channel].PSELN = SAADC_CH_PSELP_PSELP_NC; &lt;br /&gt; NRF_SAADC-&amp;gt;RESULT.MAXCNT = 1;&lt;br /&gt; NRF_SAADC-&amp;gt;RESOLUTION = SAADC_RESOLUTION_VAL_10bit;&lt;br /&gt; NRF_SAADC-&amp;gt;OVERSAMPLE = SAADC_OVERSAMPLE_OVERSAMPLE_Over2x;&lt;br /&gt; NRF_SAADC-&amp;gt;ENABLE = (SAADC_ENABLE_ENABLE_Enabled &amp;lt;&amp;lt; SAADC_ENABLE_ENABLE_Pos);&lt;br /&gt; NRF_SAADC-&amp;gt;INTENSET = SAADC_INTENSET_END_Msk;&lt;br /&gt;}&lt;/p&gt;
&lt;p&gt;Then read:&lt;/p&gt;
&lt;p&gt;NRF_SAADC-&amp;gt;RESULT.PTR = (uint32_t)saadc_value_data;&lt;br /&gt; NRF_SAADC-&amp;gt;TASKS_START = 1;&lt;br /&gt; while (NRF_SAADC-&amp;gt;EVENTS_STARTED == 0U);&lt;br /&gt; NRF_SAADC-&amp;gt;TASKS_SAMPLE = 1; &lt;br /&gt; //&lt;br /&gt; uint32_t saadc_timeout = 100000;&lt;br /&gt; while ((NRF_SAADC-&amp;gt;EVENTS_END == 0U)&amp;amp;&amp;amp; (saadc_timeout &amp;gt; 0))&lt;br /&gt; {&lt;br /&gt; saadc_timeout--;&lt;br /&gt; }&lt;br /&gt; NRF_SAADC-&amp;gt;EVENTS_END = 0;&lt;br /&gt; NRF_SAADC-&amp;gt;TASKS_STOP = 1;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: SAADC nrf52832</title><link>https://devzone.nordicsemi.com/thread/221777?ContentTypeID=1</link><pubDate>Mon, 25 Nov 2019 09:27:31 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:1b6d00cb-bd7d-447b-af87-dd78a9e80deb</guid><dc:creator>haakonsh</dc:creator><description>&lt;p&gt;How much oversampling are you using?&amp;nbsp;&lt;br /&gt;&lt;br /&gt;Can you share your current SAADC driver code?&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: SAADC nrf52832</title><link>https://devzone.nordicsemi.com/thread/221765?ContentTypeID=1</link><pubDate>Mon, 25 Nov 2019 08:59:38 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:410868d6-ee42-4a0a-a2a0-4bd6d868454c</guid><dc:creator>yanli_1226</dc:creator><description>&lt;p&gt;thank you, I seemed the example, the&amp;nbsp;&lt;span&gt;RESULT registers is set&amp;nbsp;prior to enabling the START task.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;and the&amp;nbsp;EVENTS_END does not fire when&amp;nbsp;oversampling is OVERSAMPLE x is because the&amp;nbsp;&amp;nbsp;BURST mode must be set.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;now the&amp;nbsp;OVERSAMPLE&amp;nbsp;mode works, but the result seems not better than bypass mode,&amp;nbsp;both of them are&amp;nbsp;&amp;nbsp;beating frequently between 850 to 856.&lt;/span&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: SAADC nrf52832</title><link>https://devzone.nordicsemi.com/thread/221605?ContentTypeID=1</link><pubDate>Fri, 22 Nov 2019 14:33:32 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:c860f338-41a8-4ab5-a17d-4f33cf36f502</guid><dc:creator>haakonsh</dc:creator><description>&lt;p&gt;That&amp;#39;s not how the SAADC works, t&lt;span&gt;he RESULT registers need to be set prior to enabling the START task.&amp;nbsp;&lt;/span&gt; see&amp;nbsp;&lt;a title="EasyDMA" href="https://infocenter.nordicsemi.com/topic/com.nordic.infocenter.nrf52832.ps.v1.1/saadc.html?cp=4_2_0_36_5#saadc_easydma"&gt;EasyDMA&lt;/a&gt;.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: SAADC nrf52832</title><link>https://devzone.nordicsemi.com/thread/221518?ContentTypeID=1</link><pubDate>Fri, 22 Nov 2019 10:02:06 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:9b4c702a-f328-404f-b3f2-8ad4a91b569e</guid><dc:creator>yanli_1226</dc:creator><description>&lt;p&gt;&lt;span&gt;NRF_SAADC-&amp;gt;RESULT.PTR = (uint32_t)saadc_value_data; is to get the result in saadc_value_data,not to set the result.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;when I use&amp;nbsp;(uint32_t)saadc_value_data[0] = NRF_SAADC-&amp;gt;RESULT.PTR, I get 0, but when I use&amp;nbsp;NRF_SAADC-&amp;gt;RESULT.PTR = (uint32_t)saadc_value_data; I get the result. So there&amp;#39;s a problem?&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;timeout means EVENTS_END does not fire.&lt;/span&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: SAADC nrf52832</title><link>https://devzone.nordicsemi.com/thread/221510?ContentTypeID=1</link><pubDate>Fri, 22 Nov 2019 09:50:09 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:90423acc-3aa6-4ff8-87c5-f8de7d4113f3</guid><dc:creator>haakonsh</dc:creator><description>&lt;p&gt;1)&lt;br /&gt;What do you mean by timeout? That the EVENTS_END does not fire?&amp;nbsp;&lt;br /&gt;&lt;br /&gt;Why do you set RESULT.PTR after you&amp;#39;ve completed the sample conversion? The RESULT registers need to be set prior to enabling the START task.&amp;nbsp;&lt;br /&gt;&lt;br /&gt;2)&lt;br /&gt;Oversampling means that you take x times more samples and average them out. The time it takes to sample and convert one data point with oversampling is OVERSAMPLE x (Acquisition time + Conversion time), where the Conversion time is less than 2µs.&amp;nbsp;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: SAADC nrf52832</title><link>https://devzone.nordicsemi.com/thread/221491?ContentTypeID=1</link><pubDate>Fri, 22 Nov 2019 08:55:28 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:109dc07d-7952-4b82-bb81-6dcb99e7a6fa</guid><dc:creator>yanli_1226</dc:creator><description>&lt;p&gt;&amp;ldquo;&lt;span&gt;In a previous test, you reported 850 - 856, what has changed since then? &amp;rdquo;&amp;nbsp;It&amp;#39;s because I add an&amp;nbsp;data processing after the adc result,&amp;nbsp; the result now&amp;nbsp;beating frequently from 642 to 695 is because of this data processing&amp;nbsp;. To avoid the&amp;nbsp;impact of that, I delete the&amp;nbsp;data processing this time, and do the experiment again.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;This time I use&amp;nbsp;Voltage source, not&amp;nbsp;battery.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;I use&amp;nbsp;SAADC_CH_CONFIG_TACQ_10us and&amp;nbsp;SAADC_OVERSAMPLE_OVERSAMPLE_Bypass, the&amp;nbsp;SAADC output is beating frequently between 850 to 856.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;then I config SAADC_CH_CONFIG_TACQ_10us&amp;nbsp;and SAADC_OVERSAMPLE_OVERSAMPLE_Over2x, I found that sometimes, it&amp;nbsp;timeout. then I config&amp;nbsp;SAADC_CH_CONFIG_TACQ_40us&amp;nbsp;, it also&amp;nbsp;&amp;nbsp;timeout sometimes. (the&amp;nbsp;SAADC output is beating&amp;nbsp; between 855 to 856,but timeout is problem).&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;My question is ：&lt;br /&gt;1)&amp;nbsp;how to avoid timeout when I use&amp;nbsp;SAADC_OVERSAMPLE_OVERSAMPLE_Over2x.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;2) when I use&amp;nbsp;SAADC_OVERSAMPLE_OVERSAMPLE_Over2x, is the SAADC&amp;nbsp;acquisition time&amp;nbsp; longer than&amp;nbsp;SAADC_OVERSAMPLE_OVERSAMPLE_Bypass?&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;how long it takes in&amp;nbsp;acquisition when I config&amp;nbsp;SAADC_OVERSAMPLE_OVERSAMPLE_Over2x and&amp;nbsp;SAADC_OVERSAMPLE_OVERSAMPLE_Bypass?&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;my SAADC config is bellow:&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt; NRF_SAADC-&amp;gt;CH[channel].CONFIG = ((SAADC_CH_CONFIG_RESN_Bypass &amp;lt;&amp;lt; SAADC_CH_CONFIG_RESN_Pos)|&lt;br /&gt; (SAADC_CH_CONFIG_RESP_Bypass &amp;lt;&amp;lt; SAADC_CH_CONFIG_RESP_Pos)|&lt;br /&gt; (SAADC_CH_CONFIG_GAIN_Gain1_3&amp;lt;&amp;lt; SAADC_CH_CONFIG_GAIN_Pos)|&lt;br /&gt; (SAADC_CH_CONFIG_REFSEL_Internal&amp;lt;&amp;lt;SAADC_CH_CONFIG_REFSEL_Pos)|&lt;br /&gt; (SAADC_CH_CONFIG_TACQ_10us&amp;lt;&amp;lt; SAADC_CH_CONFIG_TACQ_Pos)|&lt;br /&gt; (SAADC_CH_CONFIG_MODE_SE&amp;lt;&amp;lt;SAADC_CH_CONFIG_MODE_Pos) ); &lt;br /&gt; NRF_SAADC-&amp;gt;CH[channel].PSELP = SAADC_CH_PSELP_PSELP_AnalogInput0; &lt;br /&gt; NRF_SAADC-&amp;gt;CH[channel].PSELN = SAADC_CH_PSELP_PSELP_NC; &lt;br /&gt; NRF_SAADC-&amp;gt;RESULT.MAXCNT = 1;&lt;br /&gt; NRF_SAADC-&amp;gt;RESOLUTION = SAADC_RESOLUTION_VAL_10bit;&lt;br /&gt; NRF_SAADC-&amp;gt;OVERSAMPLE = SAADC_OVERSAMPLE_OVERSAMPLE_Bypass;&lt;br /&gt; NRF_SAADC-&amp;gt;ENABLE = (SAADC_ENABLE_ENABLE_Enabled &amp;lt;&amp;lt; SAADC_ENABLE_ENABLE_Pos);&lt;br /&gt; NRF_SAADC-&amp;gt;INTENSET = SAADC_INTENSET_END_Msk;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;then read the result:&lt;/p&gt;
&lt;p&gt;NRF_SAADC-&amp;gt;TASKS_START = 1;&lt;/p&gt;
&lt;p&gt;while (NRF_SAADC-&amp;gt;EVENTS_STARTED == 0U);&lt;br /&gt;NRF_SAADC-&amp;gt;TASKS_SAMPLE = 1;&lt;/p&gt;
&lt;p&gt;uint32_t saadc_timeout = 100000;&lt;br /&gt;while ((NRF_SAADC-&amp;gt;EVENTS_END == 0U)&amp;amp;&amp;amp; (saadc_timeout &amp;gt; 0))&lt;br /&gt;{&lt;br /&gt;saadc_timeout--;&lt;br /&gt;}&lt;br /&gt;NRF_SAADC-&amp;gt;EVENTS_END = 0;&lt;br /&gt;&lt;br /&gt;NRF_SAADC-&amp;gt;RESULT.PTR = (uint32_t)saadc_value_data;&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: SAADC nrf52832</title><link>https://devzone.nordicsemi.com/thread/221299?ContentTypeID=1</link><pubDate>Thu, 21 Nov 2019 11:51:46 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:8380ebdd-2cc3-494d-8067-2e55c4abd4f5</guid><dc:creator>haakonsh</dc:creator><description>&lt;p&gt;&lt;span&gt;&amp;quot;I just tested using&amp;nbsp;SAADC_OVERSAMPLE_OVERSAMPLE_Over2x, the result now&amp;nbsp;beating frequently from 642 to 695,&amp;quot;&lt;br /&gt;&lt;br /&gt;That&amp;#39;s not what I expect at all. Hmm, what kind of battery are you using?&lt;br /&gt; I suggest you power the VBAT-ON net from a benchtop PSU to remove any issue related to an under-specced battery.&amp;nbsp;&lt;br /&gt;&lt;/span&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;quot;&lt;span&gt;when at the same&amp;nbsp;environment and configuration setting SAADC_OVERSAMPLE_OVERSAMPLE_Bypass get the result from 694 - 698&amp;quot;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;In a previous test, you reported 850 - 856, what has changed since then?&amp;nbsp;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: SAADC nrf52832</title><link>https://devzone.nordicsemi.com/thread/221270?ContentTypeID=1</link><pubDate>Thu, 21 Nov 2019 10:04:47 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:11387c13-6c4f-43f9-a1eb-a0cc55b752da</guid><dc:creator>yanli_1226</dc:creator><description>&lt;p&gt;the source resistance is 100kOhm, so we use 10us&amp;nbsp;&lt;span&gt;acquisition time&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;we tested both&amp;nbsp;Voltage source and&amp;nbsp;battery(I am not sure about the &lt;span&gt;source impedance)&lt;/span&gt;, the result is&amp;nbsp;&lt;span&gt;beating frequently the same.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;I just tested using&amp;nbsp;SAADC_OVERSAMPLE_OVERSAMPLE_Over2x, the result now&amp;nbsp;beating frequently from 642 to 695, when at the same&amp;nbsp;environment and configuration setting SAADC_OVERSAMPLE_OVERSAMPLE_Bypass get the result from 694 - 698, is that normal?&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;img src="https://devzone.nordicsemi.com/resized-image/__size/320x240/__key/communityserver-discussions-components-files/4/pastedimage1574330112560v1.png" alt=" " /&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: SAADC nrf52832</title><link>https://devzone.nordicsemi.com/thread/221253?ContentTypeID=1</link><pubDate>Thu, 21 Nov 2019 09:30:24 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:a2ad174f-65aa-4da4-9d83-9dca376862cc</guid><dc:creator>haakonsh</dc:creator><description>&lt;p&gt;What&amp;#39;s your source impedance?&lt;br /&gt;&lt;br /&gt;I suggest you use the lowest acquisition time possible and turn on oversampling.&amp;nbsp;&lt;br /&gt;&lt;br /&gt;The nRF51 does not have the same ADC as the nRF52 at all.&amp;nbsp;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: SAADC nrf52832</title><link>https://devzone.nordicsemi.com/thread/221188?ContentTypeID=1</link><pubDate>Thu, 21 Nov 2019 02:59:08 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:183a5dd0-f08b-425c-a464-aef80af3efcb</guid><dc:creator>yanli_1226</dc:creator><description>&lt;p&gt;thank you, I have add an wait for the STARTED event before you trigger the SAMPLE task.&lt;br /&gt;and I also tried to extend the acquisition time, but the SAADC output is beating frequently between 850 to 856 too.&lt;/p&gt;
&lt;p&gt;there is another question:&lt;br /&gt;we have used nrf51822 before, the environment is the same as nrf52832, but the ADC output seems more stable than nrf52832, it only switch between 851 and 852，why nrf52832 seems not as good as nrf51822?&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: SAADC nrf52832</title><link>https://devzone.nordicsemi.com/thread/221076?ContentTypeID=1</link><pubDate>Wed, 20 Nov 2019 13:02:46 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:a9222e30-cc30-48fa-8586-a94988145020</guid><dc:creator>haakonsh</dc:creator><description>&lt;ol&gt;
&lt;li&gt;The statement &amp;quot;&lt;span&gt;m=0 if CONFIG.MODE=SE, or m=1 if CONFIG.MODE=Diff&amp;quot; in the PS is wrong, and should be reversed, ie. m=1 if MODE == SE.&amp;nbsp;&lt;br /&gt;&lt;br /&gt;I tested with both SE and DIFF, and SE outputs a result that is double that of DIFF, which makes sense as DIFF has a range of +/- 0.6V over 1024 codes whereas SE only uses +0.6V over 1024 bits.&amp;nbsp;&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span&gt;There is a fair amount of Gain error in the ADC core, there&amp;#39;s also Integral and Differential Non-Linearity. See&amp;nbsp;&lt;a title="  Electrical specification  " href="https://infocenter.nordicsemi.com/topic/com.nordic.infocenter.nrf52832.ps.v1.1/saadc.html?cp=4_2_0_36_11#unique_397560666"&gt;Electrical specification&lt;/a&gt;&amp;nbsp;for details.&amp;nbsp;&lt;br /&gt;&lt;br /&gt;Other possible error sources is noise in the signal, or too short acquisition time with regards to the source impedance(see &lt;a title="Acquisition time" href="https://infocenter.nordicsemi.com/topic/com.nordic.infocenter.nrf52832.ps.v1.1/saadc.html?cp=4_2_0_36_8#concept_qh3_spp_qr"&gt;Acquisition time&lt;/a&gt;).&amp;nbsp;&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;&lt;span&gt;You should also wait for the STARTED event before you trigger the SAMPLE task, otherwise,&amp;nbsp;you might get a hardfault if the EasyDMA controller tries to write data to address 0x00000000, the default value of RESULT.PTR. This might happen if a conversion is completed before the SAADC has updated the RAM address of the EasyDMA controller.&lt;/span&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item></channel></rss>