void TCSerialThread::SensorData(QByteArray &data)
{
if(data.count()<17)
return;
qDebug()<<"**********"<<data.toHex();
QByteArray crcData;
crcData.append(data.at(4));
crcData.append(data.at(5));
crcData.append(data.at(6));
crcData.append(data.at(7));
crcData.append(data.at(8));
crcData.append(data.at(9));
crcData.append(data.at(10));
crcData.append(data.at(11));
crcData.append(data.at(12));
crcData.append(data.at(13));
crcData.append(data.at(14));
//需要转为uchar类型,因为有符号和无符号左移是有却别的
ushort crc = ((uchar)data.at(15)<<8)+ (uchar)data.at(16);
//校验
if(crc != Common::CRCcheck((unsigned char*)crcData.data(),11))
{
qDebug()<<"Check error";
qDebug()<<crc;
qDebug()<<Common::CRCcheck((unsigned char*)crcData.data(),11);
LOG_INFO("Sensor CRCcheck error");
return ;
}
}