HardFault after GPIO PIN set to High on Custom Board


on my Custom Board I'am setting P0.12 to High triggered by a BLE notification (NUS). I'am here using the BLE Uart Example (S112, pca10040). The Custom Board's nrf52832 DCDC Pin is not connected

The Problem is, that on my Custom Board the System goes direct in the Hard Fault on the nrf52 DK not. Is there something in for P0.12 in use somewhere else?

P0.12 is bounded to an STM32 MCU's boot0 Pin with a external 10k pulldown.

if (p_evt->type == BLE_CTRL)

if (p_evt->params.rx_data.p_data[0]==0xFA)
{ // Bootloader Pattern1
nrf_gpio_pin_write(12, 1);
nrf_gpio_pin_write(11, 0);
for (uint16_t ts=0;ts<4000;ts++){}
nrf_gpio_pin_write(11, 1);


if (p_evt->params.rx_data.p_data[0]==0xFB)
{ // Reset
nrf_gpio_pin_write(12, 0);
nrf_gpio_pin_write(11, 0);
for (uint16_t ts=0;ts<4000;ts++){}
nrf_gpio_pin_write(11, 1);


Parents Reply
  • Hi,

    The UART peripheral will raise this event when an Error condition is detected on the RX pin, and from the  screenshot you posted we can see it detected a BREAK condition.

    the nrf ist waiting for 200ms before he starts with the second line in main() after the delay sommand.

    Does this mean the STM is powered on before the nRF has enabled the UART interface?

    Furthermore I don't see any edges with the oscilloscope on my RX PIN when I'am setting P0.12 1

    What exactly happens when you set configure P0.12? Will there be any UART communication between the nrf and stm if you don't configure it?