??? 02/09/07 19:32 Read: times |
#132405 - OK Responding to: ???'s previous message |
BASIC:
NEMA$ = "$GPRMC,000004,V,3714.6284,N,12146.9181,W,0.000,0.0,290697,15.4,E*4C" PRINT " " + NEMA$ chksum = ASC(MID$(NEMA$, 2, 1)) FOR x = 3 TO LEN(NEMA$) - 3 chksum = ASC(MID$(NEMA$, x, 1)) XOR chksum NEXT x PRINT " NEMA Checksum is " + HEX$(chksum) Equivalent 'C': <pre> void main( void ) { unsigned char checksum; int x; char nema_string[] = "$GPRMC,000004,V,3714.6284,N,12146.9181,W,0.000,0.0,290697,15.4,E*4C"; printf( " %s\n", nema_string ); checksum = nema_string[1]; for( x = 2; x < strlen(nema_string)-3; ++x ) { checksum ^= nema_string[x]; } printf( " NEMA Checksum is %02X\n", checksum ); } |