<?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>How to put nRF52 with no SD into low power/sleep mode</title><link>https://devzone.nordicsemi.com/f/nordic-q-a/74045/how-to-put-nrf52-with-no-sd-into-low-power-sleep-mode</link><description>Hi, we have an application using an nRF52832 without a SD that we want to put into low power / sleep mode to save battery. 
 What commands should we use to do this and wake/reset with switch input? 
 
 Thanks Ian</description><dc:language>en-US</dc:language><generator>Telligent Community 13</generator><lastBuildDate>Fri, 16 Apr 2021 13:24:34 GMT</lastBuildDate><atom:link rel="self" type="application/rss+xml" href="https://devzone.nordicsemi.com/f/nordic-q-a/74045/how-to-put-nrf52-with-no-sd-into-low-power-sleep-mode" /><item><title>RE: How to put nRF52 with no SD into low power/sleep mode</title><link>https://devzone.nordicsemi.com/thread/305308?ContentTypeID=1</link><pubDate>Fri, 16 Apr 2021 13:24:34 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:5e2a90bf-0105-4b67-b4a7-626a9ac4ce79</guid><dc:creator>Edvin</dc:creator><description>&lt;p&gt;Hello,&lt;/p&gt;
&lt;p&gt;There are two modes of sleeping. One of them is called &amp;quot;system on sleep&amp;quot; and the other is &amp;quot;system off sleep&amp;quot;.&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;System off sleep uses less power than system on mode, but there are some limitations. You can&amp;#39;t run any timers or clocks, so it can only wake on pin interrupts or power on resets (or NFC).&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;Look at any of the BLE examples from the SDK, and see how it implements system on mode sleep in the main() functions for-loop. Although these functions use the softdevice, the&amp;nbsp;idle_state_handle() is implemented both with and without the softdevice.&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;To simplify it, you can use:&lt;/p&gt;
&lt;p&gt;&lt;pre class="ui-code" data-mode="c_cpp"&gt;        __WFE();
        // Clear the internal event register.
        __SEV();
        __WFE()&lt;/pre&gt;&lt;/p&gt;
&lt;p&gt;in yout main for-loop to go to sleep. It will just wait for interrupts.&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;If you intend to go to system off (which will basically turn off the chip, and wait for a pin interrupt, and restart the application from scratch when reset), look into&amp;nbsp;nrf_power_system_off(). Look at how these examples also sets up the wakeup interrupts using&amp;nbsp;bsp_wakeup_button_enable(), which basically sets up an interrupt on a specific pin.&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;Best regards,&lt;/p&gt;
&lt;p&gt;Edvin&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item></channel></rss>