CHECKSUM em C CCS

Software e Hardware para uC PIC

Moderadores: andre_luis, 51, guest2003, Renie

CHECKSUM em C CCS

Mensagempor Flaviofrc » 09 Fev 2008 22:03

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.
Flavio
Flaviofrc
Byte
 
Mensagens: 111
Registrado em: 16 Out 2006 17:32
Localização: São Paulo

Mensagempor Maia » 09 Fev 2008 22:15

Eu achei 0x6f. Não tem nada digitado errado aí não?
0 - (0x8d + 0x01 + 0x03) = 0x6f
Abraços,
Maia
Avatar do usuário
Maia
Byte
 
Mensagens: 348
Registrado em: 15 Out 2006 16:25
Localização: Rio de Janeiro

Mensagempor Flaviofrc » 09 Fev 2008 22:34

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.....
Flavio
Flaviofrc
Byte
 
Mensagens: 111
Registrado em: 16 Out 2006 17:32
Localização: São Paulo

Mensagempor Sergio38br » 10 Fev 2008 13:21

qual o padrão da string? NMEA???

Sergio
Avatar do usuário
Sergio38br
Word
 
Mensagens: 759
Registrado em: 22 Nov 2007 13:39
Localização: São Paulo - SP

Mensagempor Flaviofrc » 10 Fev 2008 18:54

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.
Flavio
Flaviofrc
Byte
 
Mensagens: 111
Registrado em: 16 Out 2006 17:32
Localização: São Paulo

Mensagempor ivan » 11 Fev 2008 08:01

Posta mais algumas msgs, pelo menos mais 2.
"A mente que se abre a uma nova idéia jamais volta ao seu tamanho original." (Albert Einstein).
Avatar do usuário
ivan
Word
 
Mensagens: 618
Registrado em: 12 Out 2006 21:27

Mensagempor Flaviofrc » 11 Fev 2008 11:52

ivan escreveu:Posta mais algumas msgs, pelo menos mais 2.



Não entendi??
Flavio
Flaviofrc
Byte
 
Mensagens: 111
Registrado em: 16 Out 2006 17:32
Localização: São Paulo

Mensagempor ivan » 11 Fev 2008 16:38

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.
"A mente que se abre a uma nova idéia jamais volta ao seu tamanho original." (Albert Einstein).
Avatar do usuário
ivan
Word
 
Mensagens: 618
Registrado em: 12 Out 2006 21:27


Voltar para PIC

Quem está online

Usuários navegando neste fórum: Nenhum usuário registrado e 1 visitante

x