📄 gprobecommander.cpp
字号:
// GProbeCommander.cpp :
//
#include "stdafx.h"
#include "GProbeCommander.h"
void GProbeRegisterWrite(enum GProbeInterface Interface, USHORT sRegAddr, USHORT sRegVal,UCHAR *ucpBuffer)
{
ucpBuffer[0] = 7;
ucpBuffer[1] = RegisterWrite;
ucpBuffer[2] = (UCHAR)(sRegAddr >> 8);
ucpBuffer[3] = (UCHAR)sRegAddr;
ucpBuffer[4] = (UCHAR)(sRegVal >> 8);
ucpBuffer[5] = (UCHAR)sRegVal;
ucpBuffer[6] = (UCHAR)CalcGProbeCRC(Interface, ucpBuffer);
}
void GProbeRegisterRead(enum GProbeInterface Interface, USHORT sRegAddr, UCHAR *ucpBuffer)
{
ucpBuffer[0] = 5;
ucpBuffer[1] = RegisterRead;
ucpBuffer[2] = (UCHAR)(sRegAddr >> 8);
ucpBuffer[3] = (UCHAR)sRegAddr;
ucpBuffer[4] = (UCHAR)CalcGProbeCRC(Interface, ucpBuffer);
}
BYTE CalcGProbeCRC(enum GProbeInterface Interface, UCHAR *ucpBuffer)
{
BYTE bChksum;
BYTE i;
bChksum = 0;
if(ucpBuffer[0] < 1)
{
return 0;
}
for ( i = 0; i < (ucpBuffer[0]-1); ++i )
bChksum += ucpBuffer[i];
bChksum = ~bChksum + 1;
return bChksum;
}
void GProbeAppsTestParam(enum GProbeInterface Interface, BYTE bIndex, DWORD dwValue, UCHAR *ucpBuffer)
{
ucpBuffer[0] = 8;
ucpBuffer[1] = AppsTestParam;
ucpBuffer[2] = bIndex;
ucpBuffer[3] = (UCHAR)(dwValue >> 24);
ucpBuffer[4] = (UCHAR)(dwValue >> 16);
ucpBuffer[5] = (UCHAR)(dwValue >> 8);
ucpBuffer[6] = (UCHAR)(dwValue);
ucpBuffer[7] = CalcGProbeCRC(Interface, ucpBuffer);
}
void GProbeAppsTest(enum GProbeInterface Interface, BYTE bAppstestNum, UCHAR *ucpBuffer)
{
ucpBuffer[0] = 4;
ucpBuffer[1] = AppsTest;
ucpBuffer[2] = bAppstestNum;
ucpBuffer[3] = CalcGProbeCRC(Interface, ucpBuffer);
}
UCHAR* SearchGProbeStr(UCHAR *ucpBuffer, DWORD dwSize, UCHAR *ucpStr)
{
DWORD i;
UCHAR *p, *ucpLoc;
i = 0;
do
{
if(dwSize < (i+ ucpBuffer[i]))
{
return NULL;
}
p = ucpBuffer + i;
if((ucpLoc = (UCHAR *)strstr((char *)p, (char *)ucpStr)) != NULL)
{
return ucpLoc;
}
if(dwSize == (i+ ucpBuffer[i]))
{
return NULL;
}
i += ucpBuffer[i];
} while(1);
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -