2020-03-24 08:58 AM
I have an application where I wake the BLUENRG-2 using IO12 as a wakeup source. This is working perfectly as intended.
However, I want to be able to wake the device from a secondary pin. I already have IO11 routed from my processor (STM32F4) for UART Rx. So I naturally want to try and use that for this operation. I don't have an external pull-up populated on the line due to the internal pull-ups on IO's 9,10,&11.
I am able to put the NRG-2 into standby mode. However, as soon as the STM32 puts itself into standby mode (for power saving) the NRG-2 attempts to wakeup due to enabling IO11 as a wakeup pin.
Probing the line shows that the line is actually being pulled low. Adding a 10K pull-up resistor is a fix to the problem, but making a change to the schematic is not possible.
I cannot understand why this is occurring. The application note for the STM32 says all GPIO's are configured as high impedance during standby and IO11 on the NRG-2 is configured to an input with a pull-up resistor by default in standby.
Thoughts on what could be the cause of the issue here?
Is there some setting in the NRG-2 that isn't being properly set for IO11? Or am I missing some fundamental interaction between the "weak" pull-up of the NRG-2 and the high impedance line of the STM32 that could be pulling the line low?