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

nrf52 timer example, over 5 minutes event handler.

When I test the timer example with nrf52832 DK, it so nice to 4 minutes.

uint32_t time_ms = 240000;

But when I set the time interval over 5 minutes, then the event handler run more rapidly.

So, what should I do for long time period?

Parents
  • Hi JW,

    By default, the timer runs at 16 MHz and the maximum bit width of the timer is 32-bit. This corresponds to a maximum timer value of:

    (2^32)-1 = 4294967295
    

    The reason why you see event handler more rapidly with 5 minutes, is that nrf_drv_timer_ms_to_ticks use the configured frequency and the time_ms parameter to generate the number of ticks, and return this in a 32 bit variable:

    5*60*16000000 = 4800000000
    

    This overflows the 32 bit variable, giving you a tick count of 505032705 = ~31.5 seconds.

    You need to change the frequency of the timer to make it run run slower. This is done by changing the timer configuration:

    timer_cfg.frequency = NRF_TIMER_FREQ_8MHz;
    

    You can set it to any of the frequencies documented here.

    Best regards,

    Jørgen

Reply
  • Hi JW,

    By default, the timer runs at 16 MHz and the maximum bit width of the timer is 32-bit. This corresponds to a maximum timer value of:

    (2^32)-1 = 4294967295
    

    The reason why you see event handler more rapidly with 5 minutes, is that nrf_drv_timer_ms_to_ticks use the configured frequency and the time_ms parameter to generate the number of ticks, and return this in a 32 bit variable:

    5*60*16000000 = 4800000000
    

    This overflows the 32 bit variable, giving you a tick count of 505032705 = ~31.5 seconds.

    You need to change the frequency of the timer to make it run run slower. This is done by changing the timer configuration:

    timer_cfg.frequency = NRF_TIMER_FREQ_8MHz;
    

    You can set it to any of the frequencies documented here.

    Best regards,

    Jørgen

Children
Related