Implamenta la clase y los objetos siguientes:
- Nota
- El buffer circular permite intercambiar muestras de forma eficiente entre el bucle principal y las rutinas de interrupción (ISR).
- El número efectivo de slots utilizables en el buffer es CIRC_BUF_SIZE - 1.
- El buffer está vacío cuando head == tail.
- El buffer está lleno cuando (head + 1) % CIRC_BUF_SIZE == tail.
- head indica la posición donde se escribirá el próximo dato (puntero de escritura).
- tail indica la posición de donde se leerá el próximo dato (puntero de lectura).
Funciones disponibles:
Objetos y variables declaradas:
- g_rx_buffer: Buffer circular global para recepción (declaración extern).
- g_tx_buffer: Buffer circular global para transmisión (declaración extern).