voidread_serial_data(){//寻找数据包起始同步字节,2个if(ReadOneByte() == 0xAA)//先读一个 {if(ReadOneByte() == 0xAA)//读第二个 {payloadLength = ReadOneByte();//读取第三个,数据包字节的长度if(payloadLength == 0x20)//如果接收到的是大包数据才继续读取,小包数据则舍弃不读取 {generatedChecksum = 0; //校验变量清0 for(inti = 0; i<payloadLength; i++)//连续读取32个字节 { payloadData[i] = ReadOneByte();//读取指定长度数据包中的数据generatedChecksum += payloadData[i];//计算数据累加和 } checksum = ReadOneByte();//读取校验字节//校验generatedChecksum = (~generatedChecksum)&0xff; //比较校验字节if(checksum == generatedChecksum)//数据接收正确,继续处理 { signalquality = 0;//信号质量变量 attention = 0; //注意力值变量//赋值数据signalquality = payloadData[1];//信号值 attention = payloadData[29];//注意力值 meditation = payloadData[31];//放松度值if(!DEBUGOUTPUT) //打印信号质量 {Serial2.print("SignalQuality: ");Serial2.print(signalquality, DEC);//打印注意力值Serial2.print("Attation: ");Serial2.print(attention, DEC);//打印放松度值