Autor Tema: CRC PARA PIC 16F876  (Leído 5353 veces)

0 Usuarios y 1 Visitante están viendo este tema.

Desconectado javv

  • PIC10
  • *
  • Mensajes: 6
CRC PARA PIC 16F876
« en: 15 de Junio de 2007, 13:38:25 »
Buena a todos:
Necesitaria una rutina crc o checksum ó algun ejemplo, quiero mandar una trama de 1 pic maestro a varios pics esclavos y que estos reciban los datos en un buffer para posteriormente tratarlos.
Gracias..

Desconectado maunix

  • Moderadores
  • DsPIC33
  • *****
  • Mensajes: 4751
    • Mi Sitio Web Personal
Re: CRC PARA PIC 16F876
« Respuesta #1 en: 15 de Junio de 2007, 16:37:33 »
Buena a todos:
Necesitaria una rutina crc o checksum ó algun ejemplo, quiero mandar una trama de 1 pic maestro a varios pics esclavos y que estos reciban los datos en un buffer para posteriormente tratarlos.
Gracias..

En la página de Microchip hay un application note que permite calcular el crc en assembler.
- La soberbia de un Einstein es entendible.. la de un salame es intolerable (A.Dolina)
- En teoría no hay diferencia entre la teoría y la práctica. En la práctica... si la hay.
- Lee, Lee, Lee y luego pregunta.(maunix)
- Las que conducen y arrastran al mundo no son las máquinas, sino las ideas (V. Hugo)
- Todos los hombres se parecen por sus palabras; solamente las obras evidencian que no son iguales.(Moliere)
- Todo debería ser hecho tan simple como sea posible pero no mas simple que eso.(A.Einstein)

Desconectado javv

  • PIC10
  • *
  • Mensajes: 6
Re: CRC PARA PIC 16F876
« Respuesta #2 en: 15 de Junio de 2007, 18:34:44 »
gracias por responder, voy a mirarlo, pero me gustaria que fuera en c, ya que asm me es un poco mas complicado.
Un saludo.

Desconectado elreypic2

  • Colaborador
  • PIC24H
  • *****
  • Mensajes: 1295
Re: CRC PARA PIC 16F876
« Respuesta #3 en: 15 de Junio de 2007, 18:43:50 »
Que tal javv,

Existen varios tipos de CRC, pero el manual de  Series 6000 S6500/S6550 Configuration and Host Protocol v_3.08 de la pagina de texas instruments te puede servir, especificamente en la pagina 16 viene la rutina para calcular un CRC16 en C.

el link es:

http://www.ti.com/rfid/shtml/prod-readers-RI-STU-650A.shtml

Saludos.

Elreypic.

Desconectado javv

  • PIC10
  • *
  • Mensajes: 6
Re: CRC PARA PIC 16F876
« Respuesta #4 en: 15 de Junio de 2007, 18:49:16 »
muchas gracias elreypic2,
voy a mirarla y a ver que saco en claro,
Un saludo y gracias por la ayuda...

Desconectado javv

  • PIC10
  • *
  • Mensajes: 6
Re: CRC PARA PIC 16F876
« Respuesta #5 en: 15 de Junio de 2007, 18:58:44 »
Este es el codigo que hay en esa pagina, pero para generar el crc de los datos que quiero enviar no sé como hacerlo? y despues para decodificarlo? hay que guardar cada dato en una variable DATA y enviar . y luego en el receptor volver a guardar en data? no sé muy bien como va esta subrutina,, y alguno me la  puede esplicar un poco Os lo agaradeceria.

2.5 CRC16 Calculation Algorithm
Polynomial: x16 + x12 + x5 + 1 Þ CRC_POLYNOM = 0x8408;
Start Value: 0xFFFF Þ CRC_PRESET = 0xFFFF;
C-Example:
unsigned internal CRC = CRC_PRESET;
for (i = 0; i < cnt; i++) /* cnt = number of protocol bytes without CRC */
{
crc ^= DATA;
for (j = 0; j < 8; j++)
{
if (crc & 0x0001)
crc = (crc >> 1) ^ CRC_POLYNOM;
else
crc = (crc >> 1);
}
}

Un saludo y gracias

Desconectado jfh900

  • Moderadores
  • DsPIC30
  • *****
  • Mensajes: 3595
Re: CRC PARA PIC 16F876
« Respuesta #6 en: 15 de Junio de 2007, 19:07:27 »
Poniendo una busqueda amplia en el buscador del foro aparece como segunda o tercera entrada:


Tema: Calcular CRC - Tema finalizado satisfactoriamente

Hay que buscar mas.

Un saludo.
* Cuando hables, procura que tus palabras sean mejores que el silencio.
* 'Todos somos ignorantes, lo que ocurre es que no todos ignoramos las mismas cosas.' Albert Einstein.
* No hay nada peor que un experto para evitar el progreso en un campo
* "La vida es como una novela. No importa que sea larga, sino que esté bien narrada" Seneca
* La vida no se vive por las veces que respiras, sino por los momentos que dejan sin aliento.
* Dios dijo: ∇·E=ρ/ε0 ; ∇·B=0 ; ∇xE=-dB/dt ; ∇xB= μ0ε0dE/dt..y la luz se hizo..!!..

Desde España Jesús

Desconectado maunix

  • Moderadores
  • DsPIC33
  • *****
  • Mensajes: 4751
    • Mi Sitio Web Personal
Re: CRC PARA PIC 16F876
« Respuesta #7 en: 16 de Junio de 2007, 12:44:06 »
Poniendo una busqueda amplia en el buscador del foro aparece como segunda o tercera entrada:


Tema: Calcular CRC - Tema finalizado satisfactoriamente

Hay que buscar mas.

Un saludo.

Jeje, jesús, te me has adelantado.  Esperaba que nuestro nuevo amigo vaya haciendo la tarea solito, ya que si no lee las reglas del foro... le iba a llevar un tiempito ir por el tema.

Si te fijas en ese link que pasaste fui uno de los que más respondió  :) :)

Hay muchas formas de calcular el CRC y lo importante es si tendremos que comunicarnos con otro equipo de un tercero o si será con nosotros mismos... si es con un tercero hay que tener muy en claro cómo se calcula el CRC y si es CCITT etc... el polinomio generador, el start value, si habrá algun valor con el cual hacer un XOR final, etc.

No es algo trivial y requiere lectura, por eso quería que nuestro nuevo amigo vaya dándose cuenta que no existe el post mágico que resuelve una pregunta puntual... hay que leer por más que querramos encender y apagar un led...  :)
- La soberbia de un Einstein es entendible.. la de un salame es intolerable (A.Dolina)
- En teoría no hay diferencia entre la teoría y la práctica. En la práctica... si la hay.
- Lee, Lee, Lee y luego pregunta.(maunix)
- Las que conducen y arrastran al mundo no son las máquinas, sino las ideas (V. Hugo)
- Todos los hombres se parecen por sus palabras; solamente las obras evidencian que no son iguales.(Moliere)
- Todo debería ser hecho tan simple como sea posible pero no mas simple que eso.(A.Einstein)

Desconectado javv

  • PIC10
  • *
  • Mensajes: 6
Re: CRC PARA PIC 16F876
« Respuesta #8 en: 16 de Junio de 2007, 15:47:07 »
gracias por la ayuda a todos.

Un saludo.


 

anything