NMEA0183_Reference_Manual.pdf


< CheckSum >

The checksum is the 8-bit exclusive OR (no start or stop bits) of all characters in the sentence, including the "," delimiters, between -- but not including -- the "$" and "*" delimiters.


번역하자면, 모든 Character 8-Bit XOR 시킨다. ','는 포함시키고, '$'와 '*'제외한다.

즉, 다시말하면 '$'와 '*'사이의 Character를 8-Bit XOR 시키면 된다.^^


BYTE GPS_CheckSum(BYTE *gps_packet, int packet_size)
{
    BYTE CheckSum = 0;
    for(int i=0; i<packet_size; i++)
    {
        if(gps_packet[i] == '$') continue;
        if(gps_packet[i] == '*') break;
        CheckSum ^= gps_packet[i];
    }
    return CheckSum;
}


Posted by 크릴새우

댓글을 달아 주세요


블로그 이미지
크릴새우

태그목록

공지사항

Yesterday8
Today1
Total30,573

달력

 « |  » 2020.12
    1 2 3 4 5
6 7 8 9 10 11 12
13 14 15 16 17 18 19
20 21 22 23 24 25 26
27 28 29 30 31    

글 보관함