diff --git a/Core.go b/Core.go index 1be0886..c9091fd 100644 --- a/Core.go +++ b/Core.go @@ -30,6 +30,12 @@ void sleep_seconds(int seconds) { #endif } +void sys_sleep_seconds(int seconds) { +#ifdef _WIN32 + Sleep(seconds * 1000); // Sleep 参数是毫秒 +#endif +} + #include "HCNetSDK.h" typedef struct DEVICEINFO @@ -212,18 +218,31 @@ void SetPTZPOS(LONG lUserID,int action,char* P,char* T,char *Z) LONG lTranHandle = NET_DVR_SerialStart(lUserID, 2,g_fSerialDataCallBack,6); LONG lSerialChan = 0; if (action == 1) { + sys_sleep_seconds(1); NET_DVR_SerialSend(lTranHandle, lSerialChan, P, 7); + sys_sleep_seconds(1); NET_DVR_SerialSend(lTranHandle, lSerialChan, T, 7); + sys_sleep_seconds(1); NET_DVR_SerialSend(lTranHandle, lSerialChan, Z, 7); + sys_sleep_seconds(1); }else if (action == 2) { + sys_sleep_seconds(1); NET_DVR_SerialSend(lTranHandle, lSerialChan, P, 7); + sys_sleep_seconds(1); }else if (action == 3) { + sys_sleep_seconds(1); NET_DVR_SerialSend(lTranHandle, lSerialChan, T, 7); + sys_sleep_seconds(1); }else if (action == 4) { + sys_sleep_seconds(1); NET_DVR_SerialSend(lTranHandle, lSerialChan, Z, 7); + sys_sleep_seconds(1); }else { + sys_sleep_seconds(1); NET_DVR_SerialSend(lTranHandle, lSerialChan, P, 7); + sys_sleep_seconds(1); NET_DVR_SerialSend(lTranHandle, lSerialChan, T, 7); + sys_sleep_seconds(1); } NET_DVR_SerialStop(lTranHandle);