#ifndef crc8_H_
#define crc8_H_

/**
 * @funtion:crc8����ʽ����У��
 * @param 1:pData,��������Դ��ַ
 * @param 2:dataLen,��������Դ����
 * @param 3:initialValue,crc�����ֵ
 * @param 4:polynomial,����ʽ
 * 
 * @return :����
*/
unsigned char crc8( unsigned char *pData, 
                    unsigned int dataLen,
                    unsigned char initialValue, 
                    unsigned char polynomial );
/**
 * @funtion :�����ʪ�ȴ�����sht3Xϵ�е�crc8У��
 * @param 1:pData,��������Դ��ַ
 * @param 2:dataLen,��������Դ����
 * @param 3:targetCRC,�ԱȽ��CRC
 * 
 * @return :�Ա�У������=1У��ɹ���=0У��ʧ��
*/
int crc8_sht3x( unsigned char *pData, 
                 unsigned int dataLen,
                 unsigned char targetCRC);
int crc8_sht2x( unsigned char *pData, 
                 unsigned int dataLen,
                 unsigned char targetCRC);

unsigned char crc8_ger( unsigned char *pData, 
                 unsigned int dataLen);
int crc8_gernCheckT( unsigned char *pData, 
                 unsigned int dataLen,
                 unsigned char targetCRC);
#endif /* SCEADC_H_ */