1. 程式人生 > >Nema協議校驗碼演算法

Nema協議校驗碼演算法

示例:

$GPGSV,2,2,8,22,23,315,35,25,00,000,30,31,63,272,24,32,61,023,34*43

其中*43為校驗位,該校驗位值為以上字串去掉$和*之後,由字元的ASCII碼異或得到。

以下為QT示例程式:

//$GPGSV,2,2,8,22,23,315,35,25,00,000,30,31,63,272,24,32,61,023,34*43
    QByteArray byte("GPGSV,2,2,8,22,23,315,35,25,00,000,30,31,63,272,24,32,61,023,34");
    int count = 0;
    for(int i=0; i<byte.size(); i++)
    {
        count ^= (int)byte.at(i);
    }
    qDebug() << count;