github150620 / libkfifo-mcu

KFIFO for MCU

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

libkfifo-mcu

  • For UART receive data.
  • Not thread safe, but it's safe to 'put' in IRQ and 'get' in main().

How to use

#include "kfifo.h"

#include "stm8s003f.h"

struct kfifo fifo;
unsigned char fifo_buffer[128]; // The size of fifo_buffer MUST BE 2^n.

unsigned char buf[32];

@far @interrupt void UART1_RCV_IRQHandler(void) {
  kfifo_put(&fifo, UART1_DR);
}

void main() {
  unsigned char c;
  kfifo_init(&fifo, fifo_buffer, sizeof(fifo_buffer));

  while (1) {
    kfifo_get(&fifo, &c);
    ...
   }
}

About

KFIFO for MCU


Languages

Language:C 100.0%