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

Custom board based on nrf52832 s132 pin input P0.09

Hi,

we are using a custom board, with codes tested on a NRF52 DK. We reconfigured the pins and when using pin P0.09 (by default NFC) as an input "active_high" and with "internal pull_down", we get some voltage in it.

We had defines the macro for the pre processor CONFIG_NFCT_PINS_AS_GPIOS

in custom_board.h

#define BUTTONS_NUMBER 3

#define BUTTON_1 16 // Not Connected
#define BUTTON_2 14 //signal button 14
#define BUTTON_3 9 //enable button 9

#define BUTTON_PULL NRF_GPIO_PIN_PULLDOWN

#define BUTTONS_ACTIVE_STATE 0

#define BUTTONS_LIST { BUTTON_1, BUTTON_2, BUTTON_3}

#define BSP_BUTTON_0 BUTTON_1 // Not Connected
#define BSP_BUTTON_1 BUTTON_2 //signal button
#define BSP_BUTTON_2 BUTTON_3 //enable button

in bsp.c

#ifdef BSP_BUTTON_0
{BSP_BUTTON_0, APP_BUTTON_ACTIVE_HIGH, BUTTON_PULL, bsp_button_event_handler},
#endif // BUTTON_0

#ifdef BSP_BUTTON_1
{BSP_BUTTON_1, APP_BUTTON_ACTIVE_HIGH, BUTTON_PULL, bsp_button_event_handler},
#endif // BUTTON_1

#ifdef BSP_BUTTON_2
{BSP_BUTTON_2, APP_BUTTON_ACTIVE_HIGH, BUTTON_PULL, bsp_button_event_handler},
#endif // BUTTON_2

En fin, los otros boton

the other button works without problem, but it seems we are missing something in the configuration for button P0.09 that we can't get right, if we short P0.09 to ground with a wire at release it reads the push button correctly

TLDR: Pin P0.09 has 2.28V when configurated as GPIO input, why?

Regards

Parents
  • FormerMember
    0 FormerMember

    If CONFIG_NFCT_PINS_AS_GPIOS is set in "pre-processor" symbols, the "NFC-pins" should be regular GPIOs. 

    To double check that the configuration is correct, you can read UICR using nrfjprog. What is the result from that reading?

  • Thanks, I attach the UICR reading file. 

    :020000041000EA
    :10100000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0
    :10101000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE0
    :10102000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFD0
    :10103000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC0
    :10104000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFB0
    :10105000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFA0
    :10106000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF90
    :10107000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF80
    :10108000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF70
    :10109000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF60
    :1010A000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF50
    :1010B000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF40
    :1010C000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF30
    :1010D000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF20
    :1010E000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF10
    :1010F000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF00
    :10110000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEF
    :10111000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDF
    :10112000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCF
    :10113000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFBF
    :10114000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFAF
    :10115000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF9F
    :10116000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF8F
    :10117000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF7F
    :10118000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF6F
    :10119000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF5F
    :1011A000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF4F
    :1011B000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF3F
    :1011C000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF2F
    :1011D000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF1F
    :1011E000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0F
    :1011F000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
    :101200001500000015000000FFFFFFFFFEFFFFFFBD
    :10121000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDE
    :10122000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCE
    :10123000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFBE
    :10124000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFAE
    :10125000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF9E
    :10126000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF8E
    :10127000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF7E
    :10128000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF6E
    :10129000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF5E
    :1012A000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF4E
    :1012B000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF3E
    :1012C000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF2E
    :1012D000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF1E
    :1012E000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0E
    :1012F000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE
    :10130000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFED
    :10131000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDD
    :10132000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCD
    :10133000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFBD
    :10134000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFAD
    :10135000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF9D
    :10136000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF8D
    :10137000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF7D
    :10138000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF6D
    :10139000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF5D
    :1013A000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF4D
    :1013B000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF3D
    :1013C000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF2D
    :1013D000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF1D
    :1013E000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0D
    :1013F000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFD
    :10140000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEC
    :10141000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDC
    :10142000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCC
    :10143000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFBC
    :10144000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFAC
    :10145000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF9C
    :10146000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF8C
    :10147000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF7C
    :10148000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF6C
    :10149000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF5C
    :1014A000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF4C
    :1014B000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF3C
    :1014C000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF2C
    :1014D000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF1C
    :1014E000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0C
    :1014F000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC
    :10150000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEB
    :10151000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDB
    :10152000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCB
    :10153000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFBB
    :10154000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFAB
    :10155000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF9B
    :10156000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF8B
    :10157000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF7B
    :10158000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF6B
    :10159000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF5B
    :1015A000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF4B
    :1015B000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF3B
    :1015C000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF2B
    :1015D000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF1B
    :1015E000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0B
    :1015F000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFB
    :10160000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEA
    :10161000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDA
    :10162000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCA
    :10163000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFBA
    :10164000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFAA
    :10165000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF9A
    :10166000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF8A
    :10167000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF7A
    :10168000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF6A
    :10169000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF5A
    :1016A000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF4A
    :1016B000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF3A
    :1016C000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF2A
    :1016D000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF1A
    :1016E000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0A
    :1016F000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFA
    :10170000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE9
    :10171000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFD9
    :10172000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC9
    :10173000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFB9
    :10174000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFA9
    :10175000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF99
    :10176000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF89
    :10177000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF79
    :10178000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF69
    :10179000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF59
    :1017A000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF49
    :1017B000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF39
    :1017C000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF29
    :1017D000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF19
    :1017E000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF09
    :1017F000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF9
    :10180000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE8
    :10181000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFD8
    :10182000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC8
    :10183000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFB8
    :10184000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFA8
    :10185000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF98
    :10186000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF88
    :10187000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF78
    :10188000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF68
    :10189000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF58
    :1018A000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF48
    :1018B000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF38
    :1018C000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF28
    :1018D000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF18
    :1018E000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF08
    :1018F000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF8
    :10190000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE7
    :10191000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFD7
    :10192000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC7
    :10193000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFB7
    :10194000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFA7
    :10195000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF97
    :10196000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF87
    :10197000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF77
    :10198000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF67
    :10199000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF57
    :1019A000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF47
    :1019B000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF37
    :1019C000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF27
    :1019D000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF17
    :1019E000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF07
    :1019F000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF7
    :101A0000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE6
    :101A1000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFD6
    :101A2000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC6
    :101A3000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFB6
    :101A4000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFA6
    :101A5000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF96
    :101A6000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF86
    :101A7000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF76
    :101A8000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF66
    :101A9000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF56
    :101AA000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF46
    :101AB000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF36
    :101AC000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF26
    :101AD000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF16
    :101AE000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF06
    :101AF000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF6
    :101B0000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE5
    :101B1000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFD5
    :101B2000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC5
    :101B3000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFB5
    :101B4000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFA5
    :101B5000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF95
    :101B6000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF85
    :101B7000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF75
    :101B8000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF65
    :101B9000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF55
    :101BA000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF45
    :101BB000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF35
    :101BC000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF25
    :101BD000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF15
    :101BE000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF05
    :101BF000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF5
    :101C0000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE4
    :101C1000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFD4
    :101C2000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC4
    :101C3000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFB4
    :101C4000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFA4
    :101C5000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF94
    :101C6000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF84
    :101C7000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF74
    :101C8000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF64
    :101C9000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF54
    :101CA000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF44
    :101CB000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF34
    :101CC000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF24
    :101CD000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF14
    :101CE000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF04
    :101CF000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF4
    :101D0000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE3
    :101D1000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFD3
    :101D2000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC3
    :101D3000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFB3
    :101D4000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFA3
    :101D5000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF93
    :101D6000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF83
    :101D7000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF73
    :101D8000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF63
    :101D9000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF53
    :101DA000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF43
    :101DB000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF33
    :101DC000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF23
    :101DD000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF13
    :101DE000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF03
    :101DF000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF3
    :101E0000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE2
    :101E1000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFD2
    :101E2000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC2
    :101E3000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFB2
    :101E4000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFA2
    :101E5000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF92
    :101E6000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF82
    :101E7000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF72
    :101E8000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF62
    :101E9000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF52
    :101EA000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF42
    :101EB000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF32
    :101EC000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF22
    :101ED000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF12
    :101EE000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF02
    :101EF000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF2
    :101F0000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE1
    :101F1000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFD1
    :101F2000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC1
    :101F3000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFB1
    :101F4000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFA1
    :101F5000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF91
    :101F6000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF81
    :101F7000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF71
    :101F8000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF61
    :101F9000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF51
    :101FA000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF41
    :101FB000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF31
    :101FC000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF21
    :101FD000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF11
    :101FE000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF01
    :101FF000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF1
    :00000001FF
    

  • Using nrfjprog to read the specific address of the pin.

  • FormerMember
    0 FormerMember in reply to dhinojosac

    From that read-out of UICR, the "NFC-pins" are set to be used as GPIOs. 

    How do you configure  pin 9 (BUTTON_3) in your code?

  • First, in the main

    int main(void)
    {
        bool erase_bonds;
        log_init();
        timer_init();
    
        buttons_leds_init(&erase_bonds); //init leds and buttons
    
        board_bikelite_init();  // INIT BOARD BIKELITE
        ...


    In the function buttons_leds_init

    static void buttons_leds_init(bool * p_erase_bonds)
    {
        ret_code_t err_code;
        bsp_event_t startup_event;
    
        /** init buttons and leds in bsp.c **/
        err_code = bsp_init(BSP_INIT_LED | BSP_INIT_BUTTONS, bsp_event_handler); 
        APP_ERROR_CHECK(err_code);
    
    
        err_code = bsp_btn_ble_init(NULL, &startup_event);
        APP_ERROR_CHECK(err_code);
    
        *p_erase_bonds = (startup_event == BSP_EVENT_CLEAR_BONDING_DATA);
    }

    In the bsp_init() in the bsp.c

    uint32_t bsp_init(uint32_t type, bsp_event_callback_t callback)
    {
        uint32_t err_code = NRF_SUCCESS;
    
    #if LEDS_NUMBER > 0 && !(defined BSP_SIMPLE)
        m_indication_type     = type;
    #endif // LEDS_NUMBER > 0 && !(defined BSP_SIMPLE)
    
    #if (BUTTONS_NUMBER > 0) && !(defined BSP_SIMPLE)
        m_registered_callback = callback;
    
        // BSP will support buttons and generate events
        if (type & BSP_INIT_BUTTONS)
        {
            uint32_t num;
    
            for (num = 0; ((num < BUTTONS_NUMBER) && (err_code == NRF_SUCCESS)); num++)
            {
                err_code = bsp_event_to_button_action_assign(num, BSP_BUTTON_ACTION_PUSH, BSP_EVENT_DEFAULT);
            }
    
            if (err_code == NRF_SUCCESS)
            {
                err_code = app_button_init((app_button_cfg_t *)app_buttons,
                                           BUTTONS_NUMBER,
                                           APP_TIMER_TICKS(50));
            }
    
            if (err_code == NRF_SUCCESS)
            {
                err_code = app_button_enable();
            }
    
            if (err_code == NRF_SUCCESS)
            {
                err_code = app_timer_create(&m_button_timer_id,
                                            APP_TIMER_MODE_SINGLE_SHOT,
                                            button_timer_handler);
            }
        }

    In the fuction app_button_init we passed the buttons defined in bsp.c as:

    static const app_button_cfg_t app_buttons[BUTTONS_NUMBER] =
    {
        #ifdef BSP_BUTTON_0
        {BSP_BUTTON_0, APP_BUTTON_ACTIVE_HIGH, BUTTON_PULL, bsp_button_event_handler},
        #endif // BUTTON_0
    
        #ifdef BSP_BUTTON_1
        {BSP_BUTTON_1, APP_BUTTON_ACTIVE_HIGH, BUTTON_PULL, bsp_button_event_handler},
        #endif // BUTTON_1
    
        /** BSP_BUTTON_2  = BUTTON_3 = 9 (P0.09) and BUTTON_PULL is NRF_GPIO_PIN_PULLDOWN**/
        #ifdef BSP_BUTTON_2
        {BSP_BUTTON_2, APP_BUTTON_ACTIVE_HIGH, BUTTON_PULL, bsp_button_event_handler},
        #endif // BUTTON_2

    It is configured as input with pull down, but we don'tt understand the reason of the voltage :S

Reply
  • First, in the main

    int main(void)
    {
        bool erase_bonds;
        log_init();
        timer_init();
    
        buttons_leds_init(&erase_bonds); //init leds and buttons
    
        board_bikelite_init();  // INIT BOARD BIKELITE
        ...


    In the function buttons_leds_init

    static void buttons_leds_init(bool * p_erase_bonds)
    {
        ret_code_t err_code;
        bsp_event_t startup_event;
    
        /** init buttons and leds in bsp.c **/
        err_code = bsp_init(BSP_INIT_LED | BSP_INIT_BUTTONS, bsp_event_handler); 
        APP_ERROR_CHECK(err_code);
    
    
        err_code = bsp_btn_ble_init(NULL, &startup_event);
        APP_ERROR_CHECK(err_code);
    
        *p_erase_bonds = (startup_event == BSP_EVENT_CLEAR_BONDING_DATA);
    }

    In the bsp_init() in the bsp.c

    uint32_t bsp_init(uint32_t type, bsp_event_callback_t callback)
    {
        uint32_t err_code = NRF_SUCCESS;
    
    #if LEDS_NUMBER > 0 && !(defined BSP_SIMPLE)
        m_indication_type     = type;
    #endif // LEDS_NUMBER > 0 && !(defined BSP_SIMPLE)
    
    #if (BUTTONS_NUMBER > 0) && !(defined BSP_SIMPLE)
        m_registered_callback = callback;
    
        // BSP will support buttons and generate events
        if (type & BSP_INIT_BUTTONS)
        {
            uint32_t num;
    
            for (num = 0; ((num < BUTTONS_NUMBER) && (err_code == NRF_SUCCESS)); num++)
            {
                err_code = bsp_event_to_button_action_assign(num, BSP_BUTTON_ACTION_PUSH, BSP_EVENT_DEFAULT);
            }
    
            if (err_code == NRF_SUCCESS)
            {
                err_code = app_button_init((app_button_cfg_t *)app_buttons,
                                           BUTTONS_NUMBER,
                                           APP_TIMER_TICKS(50));
            }
    
            if (err_code == NRF_SUCCESS)
            {
                err_code = app_button_enable();
            }
    
            if (err_code == NRF_SUCCESS)
            {
                err_code = app_timer_create(&m_button_timer_id,
                                            APP_TIMER_MODE_SINGLE_SHOT,
                                            button_timer_handler);
            }
        }

    In the fuction app_button_init we passed the buttons defined in bsp.c as:

    static const app_button_cfg_t app_buttons[BUTTONS_NUMBER] =
    {
        #ifdef BSP_BUTTON_0
        {BSP_BUTTON_0, APP_BUTTON_ACTIVE_HIGH, BUTTON_PULL, bsp_button_event_handler},
        #endif // BUTTON_0
    
        #ifdef BSP_BUTTON_1
        {BSP_BUTTON_1, APP_BUTTON_ACTIVE_HIGH, BUTTON_PULL, bsp_button_event_handler},
        #endif // BUTTON_1
    
        /** BSP_BUTTON_2  = BUTTON_3 = 9 (P0.09) and BUTTON_PULL is NRF_GPIO_PIN_PULLDOWN**/
        #ifdef BSP_BUTTON_2
        {BSP_BUTTON_2, APP_BUTTON_ACTIVE_HIGH, BUTTON_PULL, bsp_button_event_handler},
        #endif // BUTTON_2

    It is configured as input with pull down, but we don'tt understand the reason of the voltage :S

Children
  • FormerMember
    0 FormerMember in reply to dhinojosac

    When I configure pin 9 as a GPIO and set the pull to "pull-down" and test here, the voltage on pin 9 is 0.

    What kind of board do you use? A custom board? Could you try the same configurations on the nRF52-DK and check if it works?

    Could could check that the button on your board is correctly soldered? I.e, not shifted by 90 degrees for example.

Related