#include "msp430fr5739.h"
unsigned char *p;
unsigned short int Result=0;
unsigned char Input[2]={0x35,0x34};
void delay(unsigned int z)
{
unsigned int i;
for(i=0;i<z;i++);
}
unsigned short int CRC16(unsigned char *ptr,short int nbyte)
{
unsigned short int i;
CRCINIRES = 0xFFFF; // Initialize CRC module 初始化结果寄存器
_NOP();
for(i=0;i<nbyte;i++)
{
CRCDI =*ptr++;//向寄存器送数据
_NOP();
}
return(CRCINIRES);//返回结果
}
int main( void )
{
// Stop watchdog timer to prevent time out reset
WDTCTL = WDTPW + WDTHOLD;
p=Input;
Result=CRC16(p,2); //62455
while(1)
{
}
return 0;
}
以上是我写的程序,对0x35,0x34进行CRC校验,Result=25103,0x620f
我看手册,是CRC-CCITT16校验,网上找了一些资料,怎么也算不出这个数。
请高手指教,谢谢!