<?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>About  [195] SPIM: SPIM3 continues to draw current after disable</title><link>https://devzone.nordicsemi.com/f/nordic-q-a/45356/about-195-spim-spim3-continues-to-draw-current-after-disable</link><description>Hello there, I am using nrf52840 The mark is: N52840 QIAAC0, SDK: nRF5_SDK_15.0.0_a53641a, SD: nRF5_SDK_15.0.0_a53641a, I used the BLE ANCS routine and encountered this problem when I added the SPIM3 to driver LCD. Problem Description: I used SPIM3&amp;#39;s</description><dc:language>en-US</dc:language><generator>Telligent Community 13</generator><lastBuildDate>Tue, 26 Mar 2019 14:15:05 GMT</lastBuildDate><atom:link rel="self" type="application/rss+xml" href="https://devzone.nordicsemi.com/f/nordic-q-a/45356/about-195-spim-spim3-continues-to-draw-current-after-disable" /><item><title>RE: About  [195] SPIM: SPIM3 continues to draw current after disable</title><link>https://devzone.nordicsemi.com/thread/178410?ContentTypeID=1</link><pubDate>Tue, 26 Mar 2019 14:15:05 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:2bba79fb-c530-405d-88b3-8288694cfe8c</guid><dc:creator>Einar Thorsrud</dc:creator><description>&lt;p&gt;Hi,&lt;/p&gt;
&lt;p&gt;I am having a bit of problems following the last parts of your question, describing what you have done. For instance, you do something that cause a &amp;quot;system reboot&amp;quot;. A reset is typically triggered by an error check, so this might be what you are seeing. You should be able to see what is happening by using a debugger. I also do not understand why you mean by system being normal when you remove the call to&amp;nbsp;idle_state_handle(). It would probably be easier to understand if you show your code.&lt;/p&gt;
&lt;p&gt;That aside, you can try the following to make sure that the SPIM3 peripheral doe snot consume any power while not being used. Once you are don with it, uninitialize the driver and execute this snippet, which essentially resets the peripheral:&lt;/p&gt;
&lt;p&gt;&lt;pre class="ui-code" data-mode="c_cpp"&gt;*(volatile uint32_t *)0x4002FFFC = 0;   // Power down SPIM3
*(volatile uint32_t *)0x4002FFFC;       //
*(volatile uint32_t *)0x4002FFFC = 1;   // Power on SPIM3 so it is ready for next time
&lt;/pre&gt;&lt;/p&gt;
&lt;p&gt;Then you just need to initialize the driver again before using it the next time.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item></channel></rss>