Hi, I'm trying to use Atomic FIFO in my application, where multiple interrupts of different priorities are trying to read from and write to same FIFO. I couldn't find any simple example which uses Atomic FIFO. I'm using SDK 14.2 on nrf52832. The documentation shows simple implementation of read operations but not the write operations.
Also in the documentation it says that "Atomic types are limited to nrf_atomic_u32_t and nrf_atomic_flag_t". Does it mean I can only have u32 datatypes in the fifo(or in the structs that are in fifo) ? What about other data types u64, u8, u16 etc ?
Besides this, can you please answer following questions as well ?
If i have multiple interrupts of same priorities, can a new interrupt pause the execution of the interrupt being currently executed ? If not, then does this new interrupt gets lost or will it execute after the current interrupt finishes its execution ? If yes, then what happens if there are a lots of interrupts in line/queue to be handled ? what is the maximum number of interrupts that can be handled if generated simultaneously or very closer to each other in time ? In my application I'm using GPIOTE, timers, app_timers to generate around 20+ interrupts and they might all occur simultaneously.