CRC Checksum nedir?

cemalb

Üye
Katılım
9 Eki 2019
Mesajlar
126
Puanları
1
Merhabalar. CRC Checksum tam olarak nedir? Anladığım kadar ile verinin iletim sırasında bozulmaması için kullanılan bir sağlama yöntemi ama hakkında tam anlayabileceğim türkçe bir bilgi bulamadım.
Kullandığım dokunmatik ekranlar ile iletişimde bazen sorun yaşıyorum. Ekranın datasheetinde checksum özelliğini kullanma seçeneği olduğu gördüm. Sanırım bunu kullanmak sorunumu çözecek ama nasıl kullanılacağı hakkında pek fikrim yok. Datasheette checksum ile alakalı şöyle bir bilgi de verilmiş. Bunu da anlamadım. Konu hakkında bilgisi olan arkadaşlardan yardım rica ediyorum.
aaaa.png
 
en alt satırda yazan fonksiyonu calıstırdıgınızda tablo yardımı ile sizin crc nizi hesaplıyor.
yapılan işlem baslangıcta crch=0xff ve crcl=0xff, sonra sizin crcsini hesaplamak istediginiz baytların sayısı kadar(burada j=hesaplanacak byte sayısı) for döngüsü icerisinde en altta yazdıgınız fonksiyon calıstırılıyor.yapılan işlem bir önce bulunan crc ile xor işlemi.
yani yapacagınız unsigned char index,crch,crcl fonksiyonunu calıstırmak.
bu sizin yaptıgınız metodda crc ler tablo yardımı ile hesaplanıyor.

isterseniz C programlamada

void Petit_CRC16(const unsigned char Data, unsigned int* CRC)
{
unsigned int i;

*CRC = *CRC ^(unsigned int) Data;
for (i = 8; i > 0; i--)
{
if (*CRC & 0x0001)
*CRC = (*CRC >> 1) ^ 0xA001;
else
*CRC >>= 1;
}
}

şeklinde tablo olmaksızında crc hesaplayabilirsiniz.
bu fonksiyonda yapacagınız işlem CRC ye başlangıcta 0xffff atayacaksınız ve işleme tabi tutmak istediginiz byte leri her seferinde bir önce hesaplanmış crc ile işleme tabi tutacaksınız.
Yaptıgınız işlemlerin dogru olup olmadıgını kontrol etmek için internette online crc hesaplama yapan siteler var.
 

Forum istatistikleri

Konular
128,099
Mesajlar
914,960
Kullanıcılar
449,800
Son üye
bukurt

Yeni konular

Geri
Üst