/*!
  \file
  \brief SCI の送信処理

  \author Satofumi KAMIMURA

  $Id: sci_get.c 1041 2009-06-18 23:11:55Z satofumi $

  \todo sci_getchar() でブロックしないのを修正する。標準関数と異なるのは紛らわしい
*/

#include "sci_get.h"
#include "cpu_aki_sh2.h"


char sci_getchar(sci_port port)
{
  char ch = '=';
  sci_read(port, &ch, 1);
  return ch;
}


int sci_gets(sci_port port, char *buffer, int max_size)
{
  int i;

  --max_size;                        /* '\0' の分 */
  for (i = 0; i < max_size; ++i) {
    char ch = sci_getchar(port);
    if ((ch == '\r') || (ch == '\n')) {
      break;
    }
    buffer[i] = ch;
  }
  buffer[i] = '\0';
  return i;
}
