Hi, there
I try to use the nrf_atfifo in my program, but I found the atfifo cause hard fault in my program,below is how I use the at_fifo in my program.
NRF_ATFIFO_DEF(my_fifo, uint16_t, 32);
NRF_ATFIFO_INIT(my_fifo);
uint16_t *some_val ;
some_val=nrf_atfifo_item_get(my_fifo, NULL);
if(some_val)NRF_LOG_INFO("fifo is empty");
and I also found that the code example in the nrf_atfifo.h is not correct like below , because the parameter of the nrf_atfifo_item_put is 2 not 4
* @brief Macro for creating an instance.
*
* Creates the FIFO object variable itself.
*
* Usage example:
* @code
* NRF_ATFIFO_DEF(my_fifo, uint16_t, 12);
* NRF_ATFIFO_INIT(my_fifo);
*
* uint16_t some_val = 45;
* nrf_atfifo_item_put(my_fifo, &some_val, sizeof(some_val), NULL);
* nrf_atfifo_item_get(my_fifo, &some_val, sizeof(some_val), NULL);
* @endcode
*
* @param[in] fifo_id Identifier of a FIFO object.
* This identifier will be a pointer to the instance.
* It makes it possible to use this directly for the functions
* that operate on the FIFO.
* Because it is a static const object, it should be optimized by the compiler.
* @param[in] storage_type Type of data that will be stored in the FIFO.
* @param[in] item_cnt Capacity of the created FIFO in maximum number of items that may be stored.
* The phisical size of the buffer will be 1 element bigger.
*/
#define NRF_ATFIFO_DEF(fifo_id, storage_type, item_cnt) \
static storage_type NRF_ATFIFO_BUF_NAME(fifo_id)[(item_cnt)+1]; \
static nrf_atfifo_t NRF_ATFIFO_INST_NAME(fifo_id); \
static nrf_atfifo_t * const fifo_id = &NRF_ATFIFO_INST_NAME(fifo_id)

Is there any example to use the atfifo? thank you!