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
  • It sounds like it could be a timing issue with the configurations of the various parts. It could be that some part of the initialization is going too fast for the display/sensor to handle it in normal mode, but when you step through in debug mode t works. Also, make sure that the 16 MHz is running as expected, in debug mode this is forced on, and that could be the potential difference that makes this work in debug mode, but not in normal mode.

  • Asbjørn, thanks looks like you are right about the clock. I implicitly turned it on and it seems to work now. Funny thing though that without turning HFclock sometimes it works and sometimes doesnt, so very random. Regarding I2C operation seems like you are right as well. Strange they dont write about that in datasheet. Thanks a lot!

Reply Children
No Data
Related