Página 1 de 1

CHECKSUM em C CCS

MensagemEnviado: 09 Fev 2008 22:03
por Flaviofrc
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.

MensagemEnviado: 09 Fev 2008 22:15
por Maia
Eu achei 0x6f. Não tem nada digitado errado aí não?
0 - (0x8d + 0x01 + 0x03) = 0x6f
Abraços,
Maia

MensagemEnviado: 09 Fev 2008 22:34
por Flaviofrc
Maia escreveu:Eu achei 0x6f. Não tem nada digitado errado aí não?
0 - (0x8d + 0x01 + 0x03) = 0x6f
Abraços,
Maia


Ai é que está, não está digitado incorretamente a outras strings com suas CHKSUMs definidas, acho que o problema está na interpretação da formula, deve haver alguma interpretação diferente.....

MensagemEnviado: 10 Fev 2008 13:21
por Sergio38br
qual o padrão da string? NMEA???

Sergio

MensagemEnviado: 10 Fev 2008 18:54
por Flaviofrc
Sergio38br escreveu:qual o padrão da string? NMEA???

Sergio


Olá Sergio, não é especificado o padrão, esse padrão é usado pelo fabricante do GPS para integração com telas touch-screen, infelizmente não posso divulgar o nome do fabricante, isso seria um problema para a empresa.

MensagemEnviado: 11 Fev 2008 08:01
por ivan
Posta mais algumas msgs, pelo menos mais 2.

MensagemEnviado: 11 Fev 2008 11:52
por Flaviofrc
ivan escreveu:Posta mais algumas msgs, pelo menos mais 2.



Não entendi??

MensagemEnviado: 11 Fev 2008 16:38
por ivan
Flaviofrc escreveu:

d0 (first) d1 d2 d(last-3) d4CHKSUM d5 d6(last)

(0x10) (0x8D) (0x01) (0x03) (0x6d) (0x10) (0x03)


Vc colocou a msg acima. O q estou pedindo é q vc poste mais 2 msgs completas como a acima, blz?

Quero conferir se estou certo antes de dizer se tenho a solução ou não.