This post is older than 2 years and might not be relevant anymore
More Info: Consider searching for newer posts
This discussion has been locked.
You can no longer post new replies to this discussion. If you have a question you can start a new discussion

Are All Interrupts diabled during a BLE event?

I have implement the systick with the idea to use it for delay functions. The systick is running normal if no BLE Events occur, but during a BLE event it seems to be stopped. Are all interrupts disabled during a BLE event from the softdevice? What is the best method to implement mS delays during a BLE event?

Parents
  • Hi Ronny,

    What do you mean by "a BLE event" ? It's when the radio active and communicate or when the application receive the interrupt event ?

    I don't think all the interrupt will be disabled during BLE event. Of course the softdevice has higher interrupt priority level than application. But you should receive your interrupt after the softdevice finish with its interrupt handler.

    Please be noted that on the nRF52 Systick will be paused when the CPU sleeping. This should not be the issue if you keep the CPU on. This may not related to your issue.

    For your purpose, I think the best way is to use the RTC timer (or use our app_timer) to implement mS delay.

  • With BLE event i mean the function that is called from the softdevice on the moment a write is received from the client. So what i conclude now is that the event function is called via a interrupt and that the interrupt level of this event is higher than the interruptlevel of the systick, so on that moment the systick will be stopped and is not usable for delay functions. I will look to use RTC timer or app_timer to create delay functions if needed.

Reply
  • With BLE event i mean the function that is called from the softdevice on the moment a write is received from the client. So what i conclude now is that the event function is called via a interrupt and that the interrupt level of this event is higher than the interruptlevel of the systick, so on that moment the systick will be stopped and is not usable for delay functions. I will look to use RTC timer or app_timer to create delay functions if needed.

Children
No Data
Related