Skip to content

InterruptIn always pulled up on nRF52_DK when BLE is initialized #5011

Closed
@HITMAnsOFT

Description

@HITMAnsOFT

Description

  • Type: Bug
  • Priority: Major

Bug

Target
nRF52_DK (tested both on a custom board and on a Sparkfun nRF52832 breakout)

Toolchain:
GCC_ARM

Toolchain version:
gcc version 5.4.1 20160919 (15:5.4.1+svn241155-1)

mbed-cli version:
1.1.1

mbed-os sha:
98ba8ac Merge pull request #4974 from ARMmbed/release-candidate

DAPLink version:

Expected behavior
After calling mode(PinMode::PullDown) on an InterruptIn, if the pin is floating, the voltage measured on the pin should be around 0V.
Actual behavior
If BLE is initialized, the voltage on an InterruptIn pin is always pulled up (reads 3.3V on a multimeter). DigitalIn works correctly.
Steps to reproduce
Build and run the following code:

#include "ble/BLE.h"
#include <mbed.h>

InterruptIn button(p24); // Any dangling pin here

int main()
{
    BLE &ble = BLE::Instance();
    ble.init();
    button.mode(PinMode::PullDown);
    return 0;
}

Measure the voltage on p24 with a multimeter.

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions