初级会员

- 积分
- 52
- 金钱
- 52
- 注册时间
- 2018-7-2
- 在线时间
- 8 小时
|
发表于 2020-12-15 21:23:12
|
显示全部楼层
/**************************************************************************************************************************
** 函数名称: FingerSendData
** 功能描述: 检测从模块上传的数据包是否正确和完整
** 输 入: Inst:命令
** 输 出: TRUE:数据包数据有效,FALSE:数据包数据无效
** 作 者: 项华俊
** 日 期: 2018年03月20日
**************************************************************************************************************************/
uint8_t FingerCheckData(void)
{
uint16_t i;
uint16_t dataLen;
uint16_t dataSUM = 0;
if(FingerRx_Flag == TRUE) // 指纹数据接收标志位
{
FingerRx_Flag = FALSE;
if((FingerRxBuffer[0] != 0xEF)&&(FingerRxBuffer[1] != 0x01)) // 检查返回指令是否正确
{
return FALSE;
}
if(FingerRxBuffer[6] != 0x07) // 检查返回指令是否正确
{
return FALSE;
}
dataLen = (FingerRxBuffer[7]<<8)+FingerRxBuffer[8];
for(i=6; i<7+dataLen; i++)
{
dataSUM += FingerRxBuffer[i];
}
if(dataSUM != (FingerRxBuffer[dataLen+7]<<8)+FingerRxBuffer[dataLen+8]) // 判断返回校验是否正确
{
return FALSE;
}
if(FingerRxBuffer[9] != TRUE)
{
return FingerRxBuffer[9];
}
return TRUE;
}
return FALSE;
} |
|