برای مشاهده روند ساخت پروژه ها و محصولات به کانال تلگرام ما بپیوندید           
  خانه محصولات دانلود پروژه ها بحث و گفتگو وبلاگ آموزشها و مقالات تماس با ما  

  فروم khazama.com --> الکترونیک دیجیتال --> تولید کد crc در پروتکل modbus RTU

  دوشنبه 8 ارديبهشت 93 , 7:51 PM


کاربر
javadmovahediy
تعداد پستها : 36
تولید کد crc در پروتکل modbus RTU

با سلام
اگر امکانش هست در مورد الگوریتم تولید کد CRC در پروتکل Modbus RTU راهنمایی کنید.
با تشکر 

  چهارشنبه 5 آذر 93 , 9:51 PM


مدیر سایت
behzad
تعداد پستها : 905
میتونید از این کد برای محاسبه crc مودباس استفاده کنید

unsigned int  crc16_update(unsigned int crc, unsigned char a){
    int i;

    crc ^= a;
    for (i = 0; i < 8; ++i)
    {
        if (crc & 1)
        crc = (crc >> 1) ^ 0xA001;
        else
        crc = (crc >> 1);
    }
    return crc;
}
هر بایتی که ارسال میشه باید با این فانکشن توی محاسبه crc لحاظ بشه و در نهایت مقدار نهائی crc ارسال بشه
مثلا اینطوری :

unsigned int crc=0xFFFF;

crc=crc16_update(crc,1);
crc=crc16_update(crc,3);
crc=crc16_update(crc,0);
crc=crc16_update(crc,0);
crc=crc16_update(crc,0);
crc=crc16_update(crc,0x0A);
// send crc LOW byte
// send crc HIGH byte

_______________________________________________________________________
پروژه های حرفه ای الکترونیک و کامپیوتر در www.khazama.com
مجموعه متن باز نامهای اصیل ایرانی
وبلاگ نوشته های شخصی من


  صفحه : [1]    
 
 


Designer And Programmer : Behzad khazama
Coded With ASP.NET
تمامي حقوق مادي و معنوي مطالب متعلق به اين سايت ميباشد .
هر گونه استفاده از مطالب اين سايت تنها با ذکر منبع بلامانع ميباشد
.
www.khazama.com
Tel : 051-44641597 - 09363677001 - 09155714862
Support SMS Center: 09363677100