Defines | Functions

usarts-recv.c File Reference

generic USART access implementation - receive More...

#include "config.h"
#include "usarts.h"
#include "rtc.h"
#include "usarts_int.h"
#include "usarts_all.h"

Defines

#define USART_DEF   USART_DEF_RXINT

Functions

usart_rxdata_t usart_recv (usart_control_t *uc)
 get one byte from USART (blocking)

Detailed Description

generic USART access implementation - receive


Function Documentation

usart_rxdata_t usart_recv ( usart_control_t uc  ) 

get one byte from USART (blocking)

This function reads one byte from the USART RX FIFO. When the FIFO is empty, it blocks until data has been received.

Parameters:
uc pointer to USART control structure
Returns:
byte read from USART

{
  fifo_item_t it;
#if 0 /* duplicated in fifo_get_uint8_t() */
  while (!usart_can_recv (uc))
    hl_sleep_for_tick (0);
#endif
  if (fifo_get_buffer (&uc->rxbuf)) {
    it = fifo_get_item (&uc->rxbuf);
    return (usart_rxdata_t) {.data = it.data, .flags = it.flags };
  }
  else
    return (usart_rxdata_t) {.data = 0, .flags = USART_NO_RX};
}