ANT HRM interrupt and sdcard ?

Dear Members,

I want to log my ANT+ HRM into SDcard,
I tried with flag, but it never goes to main loop,

I'm using nRF52840
Code ANT HRM interrupt :

void ant_hrm_page_0_decode(uint8_t const        * p_page_buffer,
                           ant_hrm_page0_data_t * p_page_data)

//set flag for SDCARD writing 1 December 2021 Rixtronix LAB  
   SDCARD_Flag=1; 

on the main loop :

//wait for SDCARD_FLAG=1
       if (SDCARD_Flag==1)
       {
          printf("\rWRITE SDCARD.. \r\n"); 
          SDCA

I'm using softdevice S340, how can I send a flag in softdevice, than the flag will be processed in main loop ?

Thanks

Parents
  • Hi,

    How is the flag defined?

    Have you verified if ant_hrm_page_0_decode() is called and the flag being set (for instance through debugging/breakpoints)?

    Is your application stuck in some interrupt, preventing it from going back to the main-loop?

    Best regards,
    Jørgen

  • Hi Jorgen, thanks for the reply,

    Here's what I've done for debugging ANT, 340 softdevice and nRF52840 :

    1.I put breakpoint at SDCARD_Flag=1 at  void page0_data_log function, ant_hrm_page0.c
    2.Run to cursor after SDCARD_flag=1;
    3.it goes to NRF_BREAKPOINT_COND: , Line 100 app_error_weak.c
    4.then it runs to line 104
     NRF_LOG_WARNING("System reset");
        NVIC_SystemReset();
        

    it never returns to main() loop..
        How can I rectify this ? How can I halt interrupt for a while from ANT sensor, write to SDcard then turn the interrupt back on ?

    Thanks

Reply
  • Hi Jorgen, thanks for the reply,

    Here's what I've done for debugging ANT, 340 softdevice and nRF52840 :

    1.I put breakpoint at SDCARD_Flag=1 at  void page0_data_log function, ant_hrm_page0.c
    2.Run to cursor after SDCARD_flag=1;
    3.it goes to NRF_BREAKPOINT_COND: , Line 100 app_error_weak.c
    4.then it runs to line 104
     NRF_LOG_WARNING("System reset");
        NVIC_SystemReset();
        

    it never returns to main() loop..
        How can I rectify this ? How can I halt interrupt for a while from ANT sensor, write to SDcard then turn the interrupt back on ?

    Thanks

Children
Related