Okay so I understand that the question I am about to ask has been posted many times before however, the proposed solutions have not worked for me and hence I would like some assistance with this. I would like to start out by emphasizing that I am a senior firmware engineer. I have 12 years experience under my belt writing firmware for MCUs. Most if not all of my experience has been with the MSP430, MSP432, Atmel and Microchip MCUs. What I am trying to say is your response can be as technical as you want and I should be able to understand it.
My question is simple. I am trying to put my MCU to sleep. Unfortunately, I had had zero luck. The MCU/Board that I am using is the nRF52 Development Kit/nRF52832. Furthermore, the SDK that I am using is nRF Connect SDK. From my understanding, when it comes to Nordic chips we have the option of using either "nRF Connect SDK" IDE or Segger Embedded Studio IDE. The reason why I mention the SDK is because upon Googling "nRF52832 sleep", the search results seem to mention only Segger Embedded Studio examples and not "nRF Connect SDK" IDE. Furthermore, from my limited understanding, “nRF Connect SDK” is the wave of the future IDE for Nordic chips? Should I be using "nRF Connect SDK" IDE oover Segger Embedded Studio?
So in essence for me to start developing for the nRF52 DK, I had to install “nRF Connect for Desktop” which in turn installed “nRF Connect SDK” which in turn installed “Microsoft Visual Studio” which in turn installed "nRF Connect" plug-in. My understanding is that the "nRF Connect" allows you to use “Microsoft Visual Studio” to develop code for Nordic chips? The reason why I mention this is because by using "nRF Connect SDK" IDE, I am inherently using Zephyr, device tree, Kconfig, west, etc. However, when I Google Zephyr, I notice that it is a RTOS?
The really beautiful thing about using Visual Studio with the “nRF Connect” plug-in is that it has a plethora of examples. Again, however, when I Google Zephyr, I notice that it is a RTOS. To me, it seems like all of the examples in Visual Studio with the “nRF Connect” plug-in are examples without the RTOS? In my opinion, ALL of the examples seem like a Super-Loop examples? What gives? Don’t get me wrong, I rather use super-loop rather than an RTOS, but that confuses me a little bit.
Okay all of that writing comes down to why I posted this question. I would love to know what instruction will put the nRF52 DK to sleep mode? Furthermore, I would like to write the code so that only a UART interrupt will wake up the nRF52 DK. I already finished writing the UART code. It works flawlessly. That is the good news. The bad news is have not been able to put the nRF52 DK to sleep. It should be one instruction or one API function call? I tried at looking at all the example codes mentioned above but no luck. I also tried Google, however the only response I get are Segger Embedded Studio examples. I understand that the wave of the future is "nRF Connect SDK" however the examples and google do not reflect that. What am I doing wrong? Should I be using Segger Embedded Studio instead of "nRF Connect SDK"?