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

External Reset Pin

I have an issue with reseting the board using a hard reset via an external button. The onboard development kit reset works, but I am trying to perform the same task using an external push button. Below is how I have wired it. Note i think it should work as I can reset an arduino using its reset 

I have connected the switch pin to the reset pin on the development board pin. I am supplying the above circuit off 3.3V using the 1k and 10k as an active low push button.

I did some looking on the forums and checked my preprocessor definitions an CONFIG_GPIO_AS_PINRESET is in my definitions.

I am sure I am doing something wrong here, please advice.

Parents
  • Hello,

    I assume you have tried to measure the voltage on "Switch pin" when you hold the button and not. If not, please check that it is actually pulled down by the button press.

    The next thing you need to check is that in your project, the reset button is enabled to actually reset the device.

    Check the system_nrf52.c file in your project. (If you can't find it, what IDE do you use? Segger embedded studio?) As you see, this file will check if CONFIG_GPIO_AS_PINRESET is defined. So make sure that this is defined in your preprocessor definitions. If you are not sure how to check/add this, what IDE do you use?

    Finally. You should know that this file and function is only executed on power on. I don't remember the details on why. Or if it is executed on a normal reset as well. Either way, flash the application containing the CONIG_GPIO_AS_PINRESET in the preprocessor definitions, and try to power cycle the device. Does the reset button work then?

    Best regards,

    Edvin

Reply
  • Hello,

    I assume you have tried to measure the voltage on "Switch pin" when you hold the button and not. If not, please check that it is actually pulled down by the button press.

    The next thing you need to check is that in your project, the reset button is enabled to actually reset the device.

    Check the system_nrf52.c file in your project. (If you can't find it, what IDE do you use? Segger embedded studio?) As you see, this file will check if CONFIG_GPIO_AS_PINRESET is defined. So make sure that this is defined in your preprocessor definitions. If you are not sure how to check/add this, what IDE do you use?

    Finally. You should know that this file and function is only executed on power on. I don't remember the details on why. Or if it is executed on a normal reset as well. Either way, flash the application containing the CONIG_GPIO_AS_PINRESET in the preprocessor definitions, and try to power cycle the device. Does the reset button work then?

    Best regards,

    Edvin

Children
Related