📄 goalvar.~pas
字号:
unit Goalvar;
interface
uses
Windows,SyncObjs;
type
HKCANHANDLE = record
mHandle: THandle;
mGuid : Cardinal;
mClass: Word;
mDev : Word;
mType : Word;
mState: Word;
end;
HKCANFRAME =record
Port : Byte;
mFrame :array[0.. 9] of Byte;
end;
type
PHKCANHANDLE = ^HKCANHANDLE;
PHKCANFRAME = ^HKCANFRAME;
type
T_HKCanOpen = Function(mDevHandle:PHKCANHANDLE ;InDriverName:pchar;DrvType:integer;nDev:integer): LongBool;stdcall;
T_HKCanClose = Function(mDevHandle:PHKCANHANDLE): LongBool;stdcall;
T_HKCanInitState = Function(mDevHandle:PHKCANHANDLE;
nPort:Integer;CAN_bps:cardinal;
CAN_StationAddress :byte;
CAN_Mask :byte;
mRxEvent :Thandle
): LongBool;stdcall;
T_HKCanSendFrame = Function( mDevHandle:PHKCANHANDLE; pSendFrame :PHKCANFRAME):integer;stdcall;
T_HKCanReadFrame = Function( mDevHandle:PHKCANHANDLE;nPort:integer; pReadFrame:PHKCANFRAME):integer;stdcall;
T_HKCanAbortSend = Function( mDevHandle:PHKCANHANDLE; nPort:integer):boolean;stdcall;
var
g_mDevHandle :HKCANHANDLE; //devicehandle struct
g_SendFrame : HKCANFRAME;
g_RecFrame :HKCANFRAME;
g_ReadThreadFlag :boolean; //thread flag
g_SendThreadFlag :boolean; //thread flag
g_blOpenStatus :boolean; //CAN 卡打开标志
g_RecPortNo :integer; //发送端口号
g_SendPortNo :integer; //接收端口号
g_RecMode :integer; //接收方式
g_blCycleSend :boolean ; //循环发送标志
g_TryCount :integer;
g_ShowProcess :boolean; //显示发送过程
g_RecCount :int64; //接收帧统计
g_SendTotalCount:int64;
g_SendOKCount:int64;
g_SendFailCount:int64;
g_hStartSendEvent :Tevent; //发送事件
g_hReadEvent_port :array[0..1] of Tevent; //接收事件
g_SendStarTime : Cardinal;
//函数定义
HKCanOpen :T_HKCanOpen ;
HKCanClose :T_HKCanClose;
HKCanInitState :T_HKCanInitState;
HKCanSendFrame :T_HKCanSendFrame;
HKCanReadFrame :T_HKCanReadFrame;
HKCanAbortSend :T_HKCanAbortSend;
implementation
end.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -