47 lines
989 B
C++
47 lines
989 B
C++
#ifndef __SERIALPORT_H__
|
|
#define __SERIALPORT_H__
|
|
|
|
#include <termios.h>
|
|
|
|
#define flag 1
|
|
#define noflag 0
|
|
|
|
//ComPort config
|
|
#define COM_PORT 0
|
|
#define COM_BUFFER_SIZE 256
|
|
#define PORT_SPEED 9600
|
|
#define PORT_DATABITS 8
|
|
#define PORT_PARITY 'N'
|
|
#define PORT_STOPBITS 1
|
|
|
|
class SerialPort {
|
|
public:
|
|
typedef struct Port_info_t
|
|
{
|
|
int fd;
|
|
pthread_mutex_t mt;
|
|
char name[24];
|
|
struct termios ntm;
|
|
} Port_INFO;
|
|
|
|
public:
|
|
int InitPort(Port_INFO *pPort, int);
|
|
int cleanPort(Port_INFO *pPort);
|
|
|
|
int sendnPort(Port_INFO *ptty,char *pbuf,int size);
|
|
int signal_recvnPort(Port_INFO *pPort,char *pbuf,int size);
|
|
|
|
private:
|
|
Port_INFO *readyPort(int id, Port_INFO *pPort);
|
|
int setPortSpeed(Port_INFO *pPort, int port_speed);
|
|
int setPortParity(Port_INFO *pPort,int databits,int parity,int stopbits);
|
|
|
|
int recvnPort(Port_INFO *ptty,char *pbuf,int size);
|
|
|
|
int lockPort(Port_INFO *pPort);
|
|
int unlockPort(Port_INFO *pPort);
|
|
};
|
|
#endif // __SERIALPORT_H__
|
|
|
|
|