Я ещё во времена DOS, в 90-е, написал для себя кольцевой буфер и различные вариации использую до сих пор. Во вложении вариант байтового кольцевого буфера, который я сейчас использую с STM32F2xx.
Там 2 варианта функций для записи в буфер и чтения из буфера. Из комментариев всё понятно. Легко изменяется до любых типов данных (я упрощённую реализацию с типом данных short использую при медианной фильтрации отсчетов АЦП).
Проблем никаких нет.