📄 rtxdispatch.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 + -