/** @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