Forum >> Principianti >> CRC

Pagina: 1

Salve a tutti.
premesso mche sono un principiante di py vi espongo il mio problema.

Dovrei implementare un controllo crc per esaminare delle stringhe trasmesse in tcp da un certo hardware.

Sulle specifiche harware c'è scritto di usare questo listato in c;



#include "stdio.h"

#include "stdlib.h"

/* FORWARDS */

unsigned int calcCRC(unsigned CRC, int ch);

void main(void)

{

unsigned int CRC; /* 16 BIT CRC RESULT */

int count, ch;

char *ptr, str1024;

CRC = 0;

count = 0;

printf("Input string for CRC calculation (<CR> to end): ");

ptr = gets(str);

while (ch = *ptr++)

{

CRC = calcCRC(CRC, ch); /* CALL CRC FUNCTION BELOW */

printf("\nChar %c [%2.2x] CRC is %4.4x, %2.2x count",

(ch > 32) ? ch : '.', ch, CRC, ++count);

}

}

unsigned int calcCRC(unsigned CRC, int ch)

{

int i;

unsigned char temp;

temp = (unsigned char)ch; /* TREAT LOCALLY AS UNSIGNED */

for (i = 0; i < 8; i++) /* DO 8 BITS */

{

temp ^= CRC & 1; /* PROCESS LSB */

CRC >>= 1; /* SHIFT RIGHT */

if (temp & 1)

CRC ^= 0xA001; /* IF LSB SET,ADD FEEDBACK */

temp >>= 1; /* GO TO NEXT BIT */

}

return CRC;

}













Io però vorrei fare la stessa cosa ma in python.

Ho provato a cercare qualche libreria già scritta per i crc ma non riesco a installarla

Suggerimenti?




Grazie


--- Ultima modifica di FLX in data 2017-04-19 22:03:33 ---

--- Ultima modifica di FLX in data 2017-04-19 22:04:11 ---


Pagina: 1



Esegui il login per scrivere una risposta.