123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263 |
- #ifndef __CGH_Relays_H_
- #define __CGH_Relays_H_
- #include <Windows.h>
- #include <string>
- using namespace std;
- class CGH_Relays
- {
- private:
- /* data */
- HANDLE hCom;
- string last_error;
- public:
- CGH_Relays();
- ~CGH_Relays();
- public:
- //同步方式打开串口,并配置默认信息
- bool openSyn(string serial_name, unsigned char baud_rate, unsigned char parity, unsigned char byte_size, unsigned char stop_bits);
- //同步方式打开串口(需自己配置串口参数)
- bool openSyn(string serial_name);
- //设置推荐的缓冲大小
- bool setBufferSize(DWORD inputBuff, DWORD outBuffer);
- //设置超时
- bool setTimeouts(COMMTIMEOUTS& timeouts);
- //设置串口信息
- bool setDCB(DCB& dcb);
- //刷新缓冲区
- bool purgeBuff(DWORD flags);
- //刷新缓冲区
- bool flushBuff();
- //写数据
- DWORD writeData(char* buffer, int length);
- //读数据
- DWORD readData(char* buffer, int length);
- //写字符串
- DWORD writeStr(string str);
- //关闭串口
- void closeComm();
- //判断串口是否打开
- bool isOpened();
- //得到最后一次失败的错误信息
- string getSerialLastError();
- // 打开第一路USB开关
- bool OpenUSB1();
- // 关闭第一路USB开关
- bool CloseUSB1();
- // 打开第二路USB开关
- bool OpenUSB2();
- // 关闭第二路USB开关
- bool CloseUSB2();
- private:
- //设置最后一次的错误信息
- void setSerialLastError(string error_msg);
- //清chu最后一次的错误信息
- void clearSerialLastError();
- };
- #endif /*__CGH_Relays_H_*/
|