📄 comport.h
字号:
//定义串口需要的相关常量
//定义串口组件内部单帧接收发送数据最大长度
#define COM_SINGLEFRAME 4096
//定义串口组件内部接收最大帧数
#define COM_FRAMECOUNT 16
//串口定义
enum COM_NO{COM1=0,COM2,COM3,COM4,COM5,COM6,COM7,COM8,COM9};
//定义枚举
//串口停止位
enum COM_StopBits{COM_StopBits_1=0,COM_StopBits_1_5,COM_StopBits_2};
//串口传输字节长度
enum COM_ByteSize{COM_ByteSize_5=0, COM_ByteSize_6, COM_ByteSize_7, COM_ByteSize_8};
//传输奇偶效验方式
enum COM_Parity{COM_Parity_None=0, COM_Parity_Odd, COM_Parity_Even, COM_Parity_Mark, COM_Parity_Space};
//传输波特率
enum COM_Baudrate{COM_Baudrate_110=0,COM_Baudrate_300,COM_Baudrate_600,COM_Baudrate_1200,COM_Baudrate_2400,COM_Baudrate_4800,COM_Baudrate_9600,COM_Baudrate_19200,COM_Baudrate_38400,COM_Baudrate_57600,COM_Baudrate_115200};
//定义优先级,我们特别定义是为了指导用户就用这几个
enum THREAD_PRIORITY{PRIORITY_TIME_CRITICAL=0,PRIORITY_HIGHEST,PRIORITY_ABOVE_NORMAL,PRIORITY_NORMAL,PRIORITY_BELOW_NORMAL,PRIORITY_LOWEST,PRIORITY_ABOVE_IDLE,PRIORITY_IDLE};
//外部输出函数
extern "C" LPVOID COMPort_Init(COM_NO comNo=COM1,COM_Baudrate BaudRate=COM_Baudrate_9600,COM_Parity Parity=COM_Parity_None,COM_ByteSize ByteSize=COM_ByteSize_8,COM_StopBits StopBits=COM_StopBits_1,uint FrameCount=COM_FRAMECOUNT,uint SingleFrameLength=COM_SINGLEFRAME,THREAD_PRIORITY SendThreadPriority=PRIORITY_BELOW_NORMAL,THREAD_PRIORITY RecvThreadPriority=PRIORITY_ABOVE_NORMAL,UINT WM_USERDEFINE=0x0501,HWND MainHWnd=NULL);
//各个行参超出枚举变量范围返回false
//根据指定参数打开串口失败,返回false
//打开串口成功,返回true
extern "C" void COMPort_DeInit(LPVOID ComPointer);//关闭已经用COMPort_Init()打开的指针
//发送数据
extern "C" void COMPort_SendByte(LPVOID ComPointer,byte* Data,UINT DataLen);
//Data为需要发送的数据数组首地址,DataLen为长度
//接收数据收到WM_USER以后被调用的处理函数
extern "C" void COMPort_RecvByte(LPVOID ComPointer,byte* Data,UINT* DataLen);
//Data为接收数组的首地址,DataLen为Data的长度,就是最大的返回个数,DataLen返回时候被填实际个数
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -