A simple C implementation of FIFO. It can be easily integrated to any microcontroller peripherals such as UART, SPI, I2C, etc.