⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 comport.h

📁 要求NK中包含串口驱动组件工作正常
💻 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 + -