Dear Nordic.
I read specific data using GPIO(timer sampling), BUT, occasionally, the data is broken because of Softdevice interrupt. So I want to guarantee it while reading a data.
please tell me to solve a issue, if you have a solution.
Thanks
Dear Nordic.
I read specific data using GPIO(timer sampling), BUT, occasionally, the data is broken because of Softdevice interrupt. So I want to guarantee it while reading a data.
please tell me to solve a issue, if you have a solution.
Thanks
Have you tried making the timer interrupt priority app high (1)? This is the highest priority that can be used by an application using the softdevice (although the highest interrupt priority is reserved by the softdevice so you might still get problems). after trying this make sure you keep your interrupt routines as short as possible.
I've heard of people having to disalbe the softdevice with critical interrupts by entering critical region but not sure about the details and if its advisable. my guess would be try to avoid this solution if possible.
Dear Michael Dietz.
I heard that Softdevice interrupt is the highest than MCU world(APP interrupt) Despite of the timer interrupt priority app high, this issue happens.
I have tried to solve a problem, But I Can't find a method.
Thanks
There must be at least one post a week where someone is trying to do high-precision timing operations using interrupts with the softdevice running. You can't do it. All the timings and all the interrupt priorities are spelled out in the documentation, the softdevice has the highest interrupt priority and it needs it in order to keep the connection alive, bluetooth has very specific timing requirements. You are going to be interrupted, the softdevice is going to take a certain amount of time to do its work (again all in the manual) and your interrupts will be delayed when this happens.
The only options you have are