/** ****************************************************************************** * File Name : net-ctrl.h * Description : This file contains the common defines of the Extend ****************************************************************************** /* Define to prevent recursive inclusion -------------------------------------*/ #ifndef ___UART_CTRL_H__ #define ___UART_CTRL_H__ #ifdef __cplusplus extern "C" { #endif /* Includes ------------------------------------------------------------------*/ /* Exported constants --------------------------------------------------------*/ /* Exported macro ------------------------------------------------------------*/ /* Exported types ------------------------------------------------------------*/ typedef struct{ int baudrate; //baudrate int databit; //data bits, 5, 6, 7, 8 int fctl; //flow control, 0: none, 1: hardware, 2: software int parity; //parity 0: none, 1: odd, 2: even int stopbit; //stop bits, 1, 2 const int reserved; //reserved, must be zero }PortInfo_t; typedef PortInfo_t *pPortInfo_t; /* Exported functions ------------------------------------------------------- */ /* * 打开串口,返回文件描述符 * dev:设备文件名 */ int uart_init(const char* dev); /* * 设置串口 * fdcom: 串口文件描述符, pportinfo: 待设置的串口信息 */ int uart_set(int fdcom, const pPortInfo_t pportinfo); /* * 关闭串口 * fdcom:串口文件描述符 */ void uart_deinit(int fdcom); /* * 发送数据 * fdcom:串口描述符, data:待发送数据, datalen:数据长度 * 返回实际发送长度 */ int uart_txd(int fdcom, const unsigned char *data, int datalen); /* * 接收数据 * fdcom:串口描述符, data:接收缓冲区, datalen.:接收长度, baudrate:波特率 * 返回实际读入的长度 */ int uart_rxd(int fdcom, unsigned char *data, int datalen, int baudrate); #ifdef __cplusplus } #endif #endif // ___UART_CTRL_H__