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

📄 rtxdispatch.h

📁 完整的RTX串口驱动程序 供大家分享 谢谢
💻 H
字号:
//-------------------------------------------------------------
// data structures for the RTX/win32 serial port dispatcher
//-------------------------------------------------------------

#define  XFER_BUFFER_SIZE              1024
#define  DTA_IDLE                      0
#define  DTA_ACTIVE                    1
#define  MAX_PARMS                     8

//----------------------------------------
//the following are object names
//----------------------------------------

#define  RTX_COM_MUTEX_NAME            _TEXT("RTXComMutex")
#define  RTX_COM_SHAREMEM_NAME         _TEXT("RTXComShareMem")
#define  RTX_CMD_EVENT_NAME            _TEXT("RTXComCmdEvent")
#define  RTX_ACK_EVENT_NAME            _TEXT("RTXComAckEvent")


//----------------------------------------
// define commands
//----------------------------------------

#define  RTX_NULL_COMMAND              0
#define  RTX_DISPATCH_OPEN             1
#define  RTX_DISPATCH_READ             2
#define  RTX_DISPATCH_WRITE            3
#define  RTX_DISPATCH_CLOSE            4
#define  RTX_DISPATCH_CONFIG           5
#define  RTX_DISPATCH_GETCOUNT         6
#define  RTX_DISPATCH_SET_TIMER        7
#define  RTX_DISPATCH_CLEAR_TIMER      8
#define  RTX_DISPATCH_GETSTATUS        9
#define  RTX_DISPATCH_COMSTATS         10

//------------------------------------------
// define offsets into the parameter block
// for the various commands
//------------------------------------------

#define  OPEN_PORT                     0
#define  OPEN_BAUDRATE                 1
#define  OPEN_WORDLENGTH               2
#define  OPEN_STOPBITS                 3
#define  OPEN_PARITY                   4

#define  READ_PORT                     0
#define  READ_BYTESTOREAD              1
#define  READ_BYTESREAD                2

#define  WRITE_PORT                    0
#define  WRITE_BYTESTOWRITE            1
#define  WRITE_BYTESWRITTEN            2

#define  CONFIG_PORT                   0
#define  CONFIG_BAUDRATE               1
#define  CONFIG_WORDLENGTH             2
#define  CONFIG_STOPBITS               3
#define  CONFIG_PARITY                 4
#define  CONFIG_FLOW_CONTROL           5
#define  CONFIG_FIFO_SIZE              6
                                             
#define  GETSTATUS_PORT                0
#define  GETSTATUS_STATE               1
#define  GETSTATUS_LASTERROR           2
#define  GETSTATUS_ERRORCOUNT          3

//-------------------------------------------
// define our shared memory data structure.
// this is the driver transfer area. To
// support full duplex, two of these are
// allocated, one for transmit operations
// and one for receive.
//-------------------------------------------

typedef  struct
{
   BYTE     command;                      //command to execute
   DWORD    parmBlock[8];                 //a parameter block
   HANDLE   lock;                         //a structure mutex
   BYTE     xferBuffer[XFER_BUFFER_SIZE]; //data transfer buffer
   WORD     status;                       //driver status
   WORD     returnCode;                   //driver return code
}DTA;

typedef struct
{
   HANDLE   cmdEvent;                     //command even api->driver
   HANDLE   ackEvent;                     //acknowledge even drv->api
   BOOL     active;                       //is dta area active
   BOOL     IOPending;                    //is I/O pending
}DTA_CONTROL;
   

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -