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

📄 gprobecommander.cpp

📁 RS232 user sample with windows API.
💻 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 + -