uart.h
2.15 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
/**
@file uart.h
@date 2009-03-19
@author 오재경 freefrug@falinux.com
@brief uds 를 사용한 통신을 담당한다.
@modify
2010-08-18 (장길석) mingw와 함께 사용할 수 있는 코드 추가
@todo
@bug
@remark
@warning
*/
//
// 저작권 에프에이리눅스(주)
// 외부공개 금지
//
//----------------------------------------------------------------------------
#ifndef _UART_H_
#define _UART_H_
#define UART_RECV_FIFO_MAX 4096
#ifdef __cplusplus
extern "C" {
#endif
/// @{
/// @brief 외부에서 사용할수 있는 객체함수 리스트
poll_obj_t *uart_open( char *dev_name, int baud, char parity, int stop_bit); /// uart 을 open 한다.
void uart_close( poll_obj_t *obj ); /// uart 를 close 한다.
poll_obj_t *uart_get_byport( char *fname ); /// uart 폴객체를 파일이름으로 찾는다.
int uart_write( poll_obj_t *obj, char *buf, int len ); /// uart 를 통해 데이타를 전송한다.
int uart_read( poll_obj_t *obj, char *buf, int len ); /// uart 를 통해 데이타를 읽는다.
int uart_read_into_fifo( poll_obj_t *obj ); /// uart 내부 수신버퍼에 데이타를 저장한다.
int uart_copy_recv_fifo( poll_obj_t *obj, char *buf, int len ); /// uart 내부 수신버퍼에서 데이타를 읽어온다.
char *uart_get_recv_fifo( poll_obj_t *obj ); /// uart 내부 수신버퍼의 포인터를 얻는다.
int uart_get_recv_fifo_count( poll_obj_t *obj ); /// uart 내부 수신버퍼에 저장된 데이타의 갯수를 얻는다.
int uart_checkout_recv_fifo( poll_obj_t *obj, int len ); /// uart 내부 수신버퍼에서 앞쪽의 데이타를 제거한 후 뒤쪽의 데이타를 이동한다.
int uart_recv_wait_fifo( poll_obj_t *obj, unsigned char *match, int match_len, int tmout_msec ); ///uart에서 비교데이타가 수신될때까지 감시한다.
/// @}
#ifdef __cplusplus
}
#endif
#endif