serial_port.h 1.1 KB

12345678910111213141516171819202122232425262728293031323334
  1. 
  2. #ifndef _SERIALPORT_H
  3. #define _SERIALPORT_H
  4. class SerialPort
  5. {
  6. public:
  7. SerialPort();
  8. ~SerialPort();
  9. // 打开串口,成功返回true,失败返回false
  10. // portname(串口名): 在Windows下是"COM1""COM2"等,在Linux下是"/dev/ttyS1"等
  11. // baudrate(波特率): 9600、19200、38400、43000、56000、57600、115200
  12. // parity(校验位): 0为无校验,1为奇校验,2为偶校验,3为标记校验(仅适用于windows)
  13. // databit(数据位): 4-8(windows),5-8(linux),通常为8位
  14. // stopbit(停止位): 1为1位停止位,2为2位停止位,3为1.5位停止位
  15. // synchronizeflag(同步、异步,仅适用与windows): 0为异步,1为同步
  16. bool open(const char* portname, int baudrate, char parity, char databit, char stopbit, char synchronizeflag=1);
  17. //关闭串口,参数待定
  18. void close();
  19. //发送数据或写数据,成功返回发送数据长度,失败返回0
  20. int send(const void *buf,int len);
  21. //接受数据或读数据,成功返回读取实际数据的长度,失败返回0
  22. int receive(void *buf,int maxlen);
  23. private:
  24. int pHandle[16];
  25. char synchronizeflag;
  26. };
  27. #endif