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

[nrf52840 + SDK for thread4.10 ]NRF_FAULT_ID_SDK_ERROR

# SEGGER J-Link RTT Viewer V6.88a Terminal Log File
# Compiled: 15:12:58 on Nov 18 2020
# Logging started @ 27 May 2021 14:56:49
00> <info> app: Provisioning failed: 28
00> 
00> 
00> 
00> <error> app: ERROR 3735928559 [Unknown error code] at D:\Temporary_documents\feida_thread_ble\components\libraries\timer\app_timer2.c:162
00> 
00> PC at: 0x00037607
00> 
00> <error> app: End of error report
00> 

# Logging stopped @ 27 May 2021 15: 7:55

HI

 My program will enter this error after about three minutes of operation. The above file is log output,from the log this is caused by Timer,but I don't know how to fix it ,I want to your help .

thanks 

Parents Reply Children
  • The program path I refer to is"nRF5_SDK_for_Thread_and_Zigbee_v4.1.0_32ce5f8\examples\multiprotocol\ble_thread\ble_thread_dyn_template\pca10056"  and I found a problem 

    int main(void)
    
    {
        bool erase_bonds;        
        // Initialize.
        uart_init(); 
    
        log_init();
        scheduler_init();
        timers_init();
        buttons_leds_init(&erase_bonds);
        //saadc_init();
    
        //Init MFRC522
        gpio_init();//初始化使用管脚
        POWER_ON(1);//打开电源
        LED_GREEN_ON(0);
        LED_RED_ON(0); 
        MFRC522_Init();//初始化RFID芯片  
    
        //Init Fstorage
        nrf_fstorage_api_t * p_fs_api;
        p_fs_api = &nrf_fstorage_sd;
        rc = nrf_fstorage_init(&fstorage, p_fs_api, NULL);
        APP_ERROR_CHECK(rc);
        wait_for_flash_ready(&fstorage);
        
        nrf_fstorage_read(&fstorage,0x9e000,extaddr_rec,16);
        wait_for_flash_ready(&fstorage);
    
        //Init BLE
        ble_stack_init();
        gap_params_init();
        gatt_init();
        services_init();
        advertising_init();
        conn_params_init();
        peer_manager_init();
        
        
         // Start execution.
        NRF_LOG_INFO("BLE Thread template example started.");
        application_timers_start();
    
        // Init Thread stack.
        thread_instance_init();
        thread_coap_init();
    
        advertising_start(erase_bonds);
        
        while (true)
        {
            thread_process();
            app_sched_execute();
            //nrfx_saadc_sample(); //单次触发ADC采样,采电池电压
            //nrf_delay_ms(100);
            /*if(extaddr_fs_state) //存储thread节点的extaddr地址到flash
            {
                nrf_fstorage_write(&fstorage, 0x9e000, extaddr_rec, sizeof(extaddr_rec), NULL);
                wait_for_flash_ready(&fstorage);
                extaddr_fs_state = false;
            }
            if(Event_FM175XX_IRQ)
            {
                getrfid_read(nfc_buff);
                number = nfc_buff[0]<<8|nfc_buff[1];
                if(number != 0)
                {   
                    if(number == freederbuf[0]<<8|freederbuf[1])
                    {
                        //led_blink_ms(BSP_LED_2_MASK,1000,5);
                    }
                    else
                    {
                        LED_RED_ON(1);
                    }
                    nfc_buff[0] = 0;
                    nfc_buff[1] = 0;
                    Event_FM175XX_IRQ = false;
                }
            }*/
            //NRF_POWER->SYSTEMOFF = 1; 
            //__WFE();
            if (NRF_LOG_PROCESS() == false)
            {
                thread_sleep();
            }      
        }
    }
    When adding delay or other programs in the main loop, the timing function of the timer will be affected. In the key operation, the key operation will be invalid or long press will take effect

  • Could you share the whole code? I don't see the part where you set a handler for the app_timer in the code you posted above. You can open a private ticket if you feel more comfortable sharing the whole code there.

    Best regards,

    Marjeris

Related