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

📄 usbcrc16.cpp

📁 PC通过串口、USB与目标板进行通信的工具
💻 CPP
字号:
// USBCRC16.cpp: implementation of the USBCRC16 class.
//
//////////////////////////////////////////////////////////////////////

#include "stdafx.h"
#include "M3USBAPP.h"
#include "USBCRC16.h"

#ifdef _DEBUG
#undef THIS_FILE
static char THIS_FILE[]=__FILE__;
#define new DEBUG_NEW
#endif

//////////////////////////////////////////////////////////////////////
// Construction/Destruction
//////////////////////////////////////////////////////////////////////

USBCRC16::USBCRC16()
{

}

USBCRC16::~USBCRC16()
{

}

unsigned short USBCRC16::USB_CRC_16(BYTE* buf, int length)
{
	unsigned short int usbcrc16=0xffff;
	unsigned short int usbcrc_16;	
	bool crc1,crc2;
	BYTE *buftemp=new BYTE[length];
	for(int i=0; i<length; i++)
	{
		*(buftemp+i)=*(buf+i);
        for(int ii=0; ii<8; ii++)
		{
			crc1=*(buftemp+i)&0x0001;
			crc2=usbcrc16&0x8000;
			if(crc1^crc2)
			{
				usbcrc16=usbcrc16<<1;
				usbcrc16^=0x8005;
			}
            else
			{
				usbcrc16=usbcrc16<<1;
			}
			*(buftemp+i)=*(buftemp+i)>>1;
		}

	}
    usbcrc_16=~usbcrc16;
	delete[] buftemp;
	buftemp=NULL;
	return usbcrc_16;
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -