My CC2541 code collects 20 bytes from the UART and then sends them out as one GATT packet. So I modified the UART/DMA code to fire an interrupt only after receiving 20 bytes instead of on every byte. The problem is that many times I get wrong data in the DMA buffer (not sure if corrupted data or missing bytes).
When I disable power saving everything is working fine, which makes sense since going into PM2/PM3 disables the voltage regulator. However, I would assume that if I changed the sleep mode to be PM1 the DMA should still work, but that doesn't seem to be the case. Even with the sleep code modified to go into PM1, I still see the same data errors.
So my questions:
1. Does the DMA suppose to work as usual in PM1?
2. Has anyone been successful in making DMA and (any form of) power saving work together?
Thanks,
Tomer