am trying to synchronize two nrf52840 thank's to state gpio with gpiote function but it return an error code 4 (No Memory for operation) whith this line -> NRF_LOG_INFO("no succes err_code=%d",retval);<- i don't know how to resolve it because i try with app_gpiote_init() but it's the same error
static app_gpiote_user_id_t m_example_user_id; static void example_gpiote_event_handler(uint32_t event_pins_low_to_high, uint32_t event_pin_high_to_low); bool nrf_drv_gpiote_in_is_set (nrf_drv_gpiote_pin_t pin); static void gpiote(void){ bool val = nrf_drv_gpiote_init(); uint16_t state = nrf_gpio_pin_read(3); nrf_drv_gpiote_pin_t pin =3; nrf_drv_gpiote_in_event_addr_get(pin); nrf_drv_gpiote_in_event_enable(3,true ); APP_GPIOTE_INIT(GPIOTE_USER_NODE_SIZE ); uint32_t tab[APP_GPIOTE_BUF_SIZE(GPIOTE_USER_NODE_SIZE)] = {0}; app_gpiote_init ( GPIOTE_USER_NODE_SIZE,&tab[0]); //Size of app_gpiote.gpiote_user_t NRF_LOG_INFO("%d",GPIOTE_USER_NODE_SIZE); //test initialisation if(val == false){ NRF_LOG_INFO("initialisation = false"); } else{ NRF_LOG_INFO("initialisation = true"); } // recuperation de l'etat sans envoye de données if(nrf_drv_gpiote_in_is_set(3)==true){ NRF_LOG_INFO("Etat_sans_données= haut,%b",nrf_drv_gpiote_in_is_set(3)); } if(nrf_drv_gpiote_in_is_set(3)==false){ NRF_LOG_INFO("Etat_sans_données = bas",nrf_drv_gpiote_in_is_set(3)); } uint32_t low_to_high_bitmask = 0x0000000F; // Bitmask to be notified of transition from low to high for GPIO 0-3 uint32_t high_to_low_bitmask = 0x0000000E; // Bitmask to be notified of transition from high to low for GPIO 0-2 uint32_t retval ; retval= app_gpiote_user_register(&m_example_user_id, &low_to_high_bitmask ,&high_to_low_bitmask,(app_gpiote_event_handler_t)example_gpiote_event_handler); if(retval != NRF_SUCCESS){ NRF_LOG_INFO("no succes err_code=%d",retval); } else{ NRF_LOG_INFO("succes"); } } void example_gpiote_event_handler(uint32_t event_pins_low_to_high, uint32_t event_pin_high_to_low){ if(event_pins_low_to_high & 0x0000000F){ NRF_LOG_INFO("succes"); } if(event_pin_high_to_low & 0x0000000F){ NRF_LOG_INFO("succes"); } }