31 #define SCI_TXINTERRUPT_NOTUSE 0
32 #define SCI_TXINTERRUPT_USE 1
63 #define SCI_BUFSIZE 256 // 受信・送信があるので実際にはこの2倍のメモリを使う
67 #define SCI_TXINTERRUPT_MODE SCI_TXINTERRUPT_USE
72 typedef struct sci_str
75 volatile char rxbuf[SCI_BUFSIZE];
76 volatile char txbuf[SCI_BUFSIZE];
211 int sci_putc_ex(
sci_t *sci,
char c);
216 int sci_puts_ex(
sci_t *sci,
const char *str);
221 char sci_getc_ex(
sci_t *sci);
227 char *sci_gets_ex(
sci_t *sci,
char *s,
int max);
231 void sci_writedata_ex(
sci_t *sci,
const unsigned char *data,
int len);
236 void sci_readdata_ex(
sci_t *sci,
unsigned char *data,
int len);
240 int sci_rxcount_ex(
sci_t *sci);
248 char sci_peek_ex(
sci_t *sci);
252 void sci_flush_ex(
sci_t *sci);
256 void sci_regist_default(
sci_t *sci);
262 #endif // __H_TKDN_SCI
SCI_PORT sci_init(SCI_PORT _port, int bps)
デフォルトのSCIポートを初期化する
SCI1 (ポートPF0,PF2,JTAGと兼用) を使う
char sci_peek(void)
デフォルトのSCIポートの受信データを覗き見る
void sci_writedata(const unsigned char *data, int len)
デフォルトのSCIポートにバイナリデータを送信する
int sci_rxcount(void)
デフォルトのSCIポートから受信したデータがバッファに溜まっている量を調べる
int sci_puts(const char *str)
デフォルトのSCIポートに文字列を送信する
#define max(a, b)
2つの数値のうち大きいほうの値を返す
CRLFMODE
CR(\r == 0x0d)やLF(\n == 0x0a)の取り扱い方法
struct sci_str sci_t
SCI情報構造体のハンドラ(拡張版SCIルーチンで使用する)
void sci_readdata(unsigned char *data, int len)
デフォルトのSCIポートからバイナリデータを受信する
int sci_putc(char c)
デフォルトのSCIポートに1文字送信する
char * sci_gets(char *s, int max)
デフォルトのSCIポートから受信した文字を、文字列として読み出す。エコーバックも行う。
void sci_convert_crlf(CRLFMODE tx, CRLFMODE rx)
デフォルトのSCIポートで送受信するデータのCRやLFの変換方法を指定する
char sci_getc(void)
デフォルトのSCIポートから受信した文字をバッファから1文字読み出して返す
SCI6A (ポートP00,P01)を使う ※100ピンデバイスにはない
SCI_PORT sci_getport(void)
デフォルトのSCIポートの使用ポートを取得する
void sci_flush(void)
デフォルトのSCIポートの送信データをフラッシュする