Olá amigos,
Pra variar estou com um probleminha que não consegui resolver ainda....
Estou programando um PIC para se comunicar via UART com um dispositivo de GPS, bem, dentro da string do protocolo existe um Byte com o nome de CHKSUM, na documentação o calculo do CHKSUM é o seguinte:
CHKSM = (unsigned char)(0 - (d1+d2+d3+…+ d(last -3) ) )
Pois bem, abaixo temos uma string padrão de comando para esse dispositivo, notem que o CHKSUM ja está incluido, e presumo eu que foi calculado com base no exemplo acima:
d0 (first) d1 d2 d(last-3) d4CHKSUM d5 d6(last)
(0x10) (0x8D) (0x01) (0x03) (0x6d) (0x10) (0x03)
Bem sabendo-se que a formula padrão do CHKSUM está acima como é que chegaram nesse 0x6d ?????
Pelo que entendi o calculo ficaria assim:
CHKSM = (unsigned char)(0 - (0x8d+0x01+0x03 ) ) mas o resultado como podem ver não é o memos...
Desde já agradeço a ajuda de quem souber onde está o meu erro....
Obrigado.