Re: [delphi-br] Calculo CRC

2009-09-02 Por tôpico LEONARDO MOREIRA ALVES
Cara, se vc quiser acho que vc deve dar uma olhada neste codigo em BASIC
para PIC.
Com ele dá para fazer uma melhor aproximação para o Pascal.

symbol CRCPOLY  = $1021 ' CRC-CCITT
symbol CRC  = w0 ' CRC Word
symbol Lo_CRC  = b0 ' CRC Lo_Byte
symbol Hi_CRC  = b1 ' CRC Hi_Byte
' -[ Subroutines ]
'
' Subroutine for calculating CRC value in variable byte
calc_crc:
CRC = Byte * 256 ^ CRC
for temp = 0 to 7
if Bit15 = 0 then shift_only
CRC = CRC * 2 ^ CRCPOLY
goto nxt
shift_only: CRC = CRC * 2
nxt:next
return
' -[ End ]

Dá uma olhada nesste site tb:
http://www.hth.com/snap/

Mas é importante voce saber também de quants bits estamos falando neste CRC,
OK.

Até mais

2009/9/2 José Luis Fernandes Rezende ze...@yahoo.com.br

 duBRASIL InformáticaOlá Pessoal,

 Estou com um problema, tenho a função abaixo escrita em C e esta é
 executada num equipamento (data Logger) por um processador da
 família do 8051.

 /
 uchar CalcCksum(uchar *buf)
 {
  uchar i, byCksum = 0;

  for(i = 0; *(buf + i) != ETX; i++)
  byCksum ^= *(buf + i);

  byCksum ^= ETX;
  return byCksum;
 }
 /

 Preciso fazer este mesmo cálculo no Delphi, pois estou desenvolvendo
 um software para substituir este data logger por um PC.

 Nunca programei em C, não faço a menor idéia de funcionalidades que
 acredito serem básicas, como o uso dos caracteres/operadores *, ^=.

 Alguém sabe/pode destrinchar esse caso para mim?

 Desde já, obrigado pela atenção!

 José Luis Rezende

 [As partes desta mensagem que não continham texto foram removidas]



 

 --
  FAVOR REMOVER ESTA PARTE AO RESPONDER ESTA MENSAGEM 






[As partes desta mensagem que não continham texto foram removidas]



[delphi-br] Calculo CRC

2009-09-01 Por tôpico José Luis Fernandes Rezende
duBRASIL InformáticaOlá Pessoal,

Estou com um problema, tenho a função abaixo escrita em C e esta é 
executada num equipamento (data Logger) por um processador da 
família do 8051.

/
uchar CalcCksum(uchar *buf)
{
 uchar i, byCksum = 0;
 
 for(i = 0; *(buf + i) != ETX; i++)
  byCksum ^= *(buf + i);
 
 byCksum ^= ETX;
 return byCksum;
}
/

Preciso fazer este mesmo cálculo no Delphi, pois estou desenvolvendo 
um software para substituir este data logger por um PC.

Nunca programei em C, não faço a menor idéia de funcionalidades que 
acredito serem básicas, como o uso dos caracteres/operadores *, ^=.

Alguém sabe/pode destrinchar esse caso para mim?

Desde já, obrigado pela atenção!

José Luis Rezende

[As partes desta mensagem que não continham texto foram removidas]





-- 
 FAVOR REMOVER ESTA PARTE AO RESPONDER ESTA MENSAGEM 

* Para ver as mensagens antigas, acesse:
http://br.groups.yahoo.com/group/delphi-br/messages

* Para falar com o moderador, envie um e-mail para:
delphi-br-ow...@yahoogrupos.com.br
Links do Yahoo! Grupos

* Para visitar o site do seu grupo na web, acesse:
http://br.groups.yahoo.com/group/delphi-br/

* Para sair deste grupo, envie um e-mail para:
delphi-br-unsubscr...@yahoogrupos.com.br

* O uso que você faz do Yahoo! Grupos está sujeito aos:
http://br.yahoo.com/info/utos.html