Is it possible to pass a memory location to PWM (preferably via DMA) via PPI. This is a sound project and my intent is to update two 8 bit PWM outputs at 44.1kHz. I typically do this with interrupts in a bare metal application. But I do not believe this method is acceptable in a SoftDevice (S112) application because the SoftDevice has a higher interrupt priority than my application. Can I use PPI to accomplish what I want without CPU intervention?
Below is the psuedo code of what I am trying to accomplish:
//this IRQ fires every 363 16MHz clock cycles (22.6875us) void TIMERx_IRQHandler{ UpdatePWMx(buffer[n]); //update PWMx with new byte UpdatePWMy(buffer[n+1]); //update PWMy with new byte n+=2; }
CPU: NRF52810
SDK: 15.2
SoftDevice: S112
Thanks in advance.