📄 usbcrc16.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 + -