This post is older than 2 years and might not be relevant anymore
More Info: Consider searching for newer posts

nrf51822 not working in non-Debug mode

I have nrf51822 controlling 2 I2C devices:

  1. OLED display - SSD1306
  2. Capacitive touch sensor - CAP1203

When in debug mode I get images on display, however when i disconnect debugger I dont get any output on the screen. Why would it work differently in a non-debug mode?

Second problem is that CAP1203 generates interrupt by pulling IRQ line low and then I need to issue I2C command to clear the register so that the IRQ line would be released. In debug step-by-step mode if I do it step by step I get GPIO interrupt, process it send I2C command and it works. In debug mode but without step-by-step the first time I receive interrupt correctly and then IRQ line doesnt get released. Any idea what could be wrong?

Thanks!

Parents
  • Forgive me, but I would love to add to this answer in the case that other people may run into a variation of this problem.

    My problem is that I had two (or more) spi sensors on the same nrf spi bus. I would notice that when I retrieved data from my sensors, that I would be able to get data from one sensor and not from the other(s).

    Solution: I had performed my initialization of all my sensors back to back. Therefore, the second (or more) sensor(s) were unable to recognize that the nrf was talking to it. Therefore, my other devices were never initialized. I added a 100ms delay between each initialization and, everything worked perfectly when I applied power without the debugger starting the application.

Reply
  • Forgive me, but I would love to add to this answer in the case that other people may run into a variation of this problem.

    My problem is that I had two (or more) spi sensors on the same nrf spi bus. I would notice that when I retrieved data from my sensors, that I would be able to get data from one sensor and not from the other(s).

    Solution: I had performed my initialization of all my sensors back to back. Therefore, the second (or more) sensor(s) were unable to recognize that the nrf was talking to it. Therefore, my other devices were never initialized. I added a 100ms delay between each initialization and, everything worked perfectly when I applied power without the debugger starting the application.

Children
No Data
Related