ورود به حساب ثبت نام جدید فراموشی کلمه عبور
برای ورود به حساب کاربری خود، نام کاربری و کلمه عبورتان را در زیر وارد کرده و روی «ورود به سایت» کلیک کنید.





اگر فرم ورود برای شما نمایش داده نمیشود، اینجا را کلیک کنید.









اگر فرم ثبت نام برای شما نمایش داده نمی‌شود، اینجا را کلیک کنید.









اگر فرم بازیابی کلمه عبور برای شما نمایش داده نمی‌شود، اینجا را کلیک کنید.






جهت تبلیغ در وب سایت ECA کلیک کنید.

کاربران برچسب زده شده

صفحه 1 از 2 12 آخرین
نمایش نتایج: از 1 به 10 از 19
  1. #1
    2012/07/09
    مشهد
    109
    4

    CRC Engine در LPC1788 : كمك كنين لطفا

    سلام
    دوستان تابحال كسي با اين خاصيت CRC در LPC1788 كار كرده؟؟
    من ميخوام به يك كد چند بيتي ، يك كد CRC 16 بيتي اضافه كنم و از طريق پورت UART3 بفرستم.ممنون ميشم راهنماييم كنين(قسمت UART رو بيشترش رو ميدونم)
  2. #2
    2012/10/25
    463
    32

    پاسخ : CRC Engine در LPC1788 : كمك كنين لطفا

    شما از ارتباط مدباس داريد استفاده مي کنيد؟ اين CRC رو براي اون مي خواين؟
  3. #3
    2007/12/13
    تهران
    732
    15

    پاسخ : CRC Engine در LPC1788 : كمك كنين لطفا


    کد:
    /****************************************************************
    *      CRC init											*/
    LPC_CRC->MODE=0x00000015;
    LPC_CRC->SEED=0xFFFF;								
    /****************************************************************/
    /*						Generate CRC					 	*/										  																				
    uint16_t CRC_Gen(uint8_t frame_len, uint8_t Modbus_frame[])
    {
    uint8_t i;
    CRC=0xffff;
    LPC_CRC->SEED=0xFFFF;
    	for(i=0; i<=frame_len; i++)
    	{
    				LPC_CRC->WR_DATA_BYTE.DATA =Modbus_frame[i];
    				CRC=(uint16_t)LPC_CRC->SUM; 
    	}   
    	Modbus_frame[i]=(uint8_t)CRC;  // LOW  CRC
    	Modbus_frame[i+1]=CRC>>8;    // HIGH CRC
    	return CRC;
       
    };
    از جمله ی رفتگان این راه دراز
    باز آمده ای کو که به ما گوید راز
    هان بر سر این دو راهه از روی نیاز
    چیزی نگذاری که نمی آیی باز
  4. #4
    2012/07/09
    مشهد
    109
    4

    پاسخ : CRC Engine در LPC1788 : كمك كنين لطفا

    نقل قول نوشته اصلی توسط meerkat
    کد:
    /****************************************************************
    *      CRC init											*/
    LPC_CRC->MODE=0x00000015;
    LPC_CRC->SEED=0xFFFF;								
    /****************************************************************/
    /*						Generate CRC					 	*/										  																				
    uint16_t CRC_Gen(uint8_t frame_len, uint8_t Modbus_frame[])
    {
    uint8_t i;
    CRC=0xffff;
    LPC_CRC->SEED=0xFFFF;
    	for(i=0; i<=frame_len; i++)
    	{
    				LPC_CRC->WR_DATA_BYTE.DATA =Modbus_frame[i];
    				CRC=(uint16_t)LPC_CRC->SUM; 
    	}   
    	Modbus_frame[i]=(uint8_t)CRC;  // LOW  CRC
    	Modbus_frame[i+1]=CRC>>8;    // HIGH CRC
    	return CRC;
       
    };
    خيلي ممنون دوست عزيز
    يه توضيح كوچيك ميشه بدين راجبش؟؟(از حلقه for به بعدش رو اگه ميشه يه توضيح بدين)
    اين كدي كه نوشتين CRC 16بيتي رو واسه هر بايت مجزا توليد ميكنه ؟؟؟؟
    چه هدري رو بايد include كنم؟؟؟
    مرسي
  5. #5
    2007/12/13
    تهران
    732
    15

    پاسخ : CRC Engine در LPC1788 : كمك كنين لطفا

    نقل قول نوشته اصلی توسط mehdia1968
    خيلي ممنون دوست عزيز
    يه توضيح كوچيك ميشه بدين راجبش؟؟
    اين كدي كه نوشتين CRC 16بيتي رو واسه هر بايت مجزا توليد ميكنه ؟؟؟؟
    چه هدري رو بايد include كنم؟؟؟
    مرسي
    شما يه نگاهِ مِلو به کامنت ها بنداز :

    CRC init يعني crcr initial (راه اندازي اوليه ) در ابتداي برنامه گذاشته ميشه

    Generate CRC
    توليد crc پارامتر هاي که به فانکشن پاس ميشن packet و len هست
    پس با توجه به len تک تک نيست !

    نبايد که بايت به بايت crc بگيري بعد بايت به بايت هم ارسال کني (با while اونم!)(اصلا به آدم فشار مياد )
    پکت رو آمده ميکني crc هم ميگري بايت اول رو ميفرستي بقيه بايت ها خودشون
    مثل بچه آدم تو اينتراپت tx ارسال ميشن (نه اينکه خود جوش شما يه 2 خوط کد ميزاري اونجا)

    يادم رفت با کال کردن فانکشن کد crc (خود جوش ) سر جاش گذاشته ميشه .
    مقدار ريترن پشنه

    براي مانيتور با پي سي برنامه modbusMAt هست گوگل کن بهت ميگه که پکت crc-يش درست هست يا نه
    از جمله ی رفتگان این راه دراز
    باز آمده ای کو که به ما گوید راز
    هان بر سر این دو راهه از روی نیاز
    چیزی نگذاری که نمی آیی باز
  6. #6
    2012/07/09
    مشهد
    109
    4

    پاسخ : CRC Engine در LPC1788 : كمك كنين لطفا

    نقل قول نوشته اصلی توسط meerkat
    شما يه نگاهِ مِلو به کامنت ها بنداز :

    CRC init يعني crcr initial (راه اندازي اوليه ) در ابتداي برنامه گذاشته ميشه

    Generate CRC
    توليد crc پارامتر هاي که به فانکشن پاس ميشن packet و len هست
    پس با توجه به len تک تک نيست !

    نبايد که بايت به بايت crc بگيري بعد بايت به بايت هم ارسال کني (با while اونم!)(اصلا به آدم فشار مياد )
    پکت رو آمده ميکني crc هم ميگري بايت اول رو ميفرستي بقيه بايت ها خودشون
    مثل بچه آدم تو اينتراپت tx ارسال ميشن (نه اينکه خود جوش شما يه 2 خوط کد ميزاري اونجا)

    يادم رفت با کال کردن فانکشن کد crc (خود جوش ) سر جاش گذاشته ميشه .
    مقدار ريترن پشنه

    براي مانيتور با پي سي برنامه modbusMAt هست گوگل کن بهت ميگه که پکت crc-يش درست هست يا نه
    خيلي ممنون.از for به بعدش رو ديرفهمم و نميگيرم كه چي ميشه :cry:
    تو برنامه شما مقدار SEED=0xFFFF گذاشته شده ولي تو مثال خود keil تو تابع Init اين مقدار 0x0000 گذاشته شده.فرقش چيه؟؟
  7. #7
    2007/12/13
    تهران
    732
    15

    پاسخ : CRC Engine در LPC1788 : كمك كنين لطفا

    نقل قول نوشته اصلی توسط mehdia1968
    خيلي ممنون.از for به بعدش رو ديرفهمم و نميگيرم كه چي ميشه :cry:
    بعد for مقدار crc به انتهاي پکتي که شما به فانکشن پاس کردي چسبونده ميشه .

    تو برنامه شما مقدار SEED=0xFFFF گذاشته شده ولي تو مثال خود keil تو تابع Init اين مقدار 0x0000 گذاشته شده.فرقش چيه؟؟
    آره ديدم تو cmsis هم چک کردم ديدم با 0 اينيشيال ميکنه
    ولي اون موقعي که ff گزاشتم از اينجا ديدم:

    مهمان عزیز شما حق دیدن لینک ها را ندارید

    عضویت



    و با 0 درست جواب نميده !
    از جمله ی رفتگان این راه دراز
    باز آمده ای کو که به ما گوید راز
    هان بر سر این دو راهه از روی نیاز
    چیزی نگذاری که نمی آیی باز
  8. #8
    2012/07/09
    مشهد
    109
    4

    پاسخ : CRC Engine در LPC1788 : كمك كنين لطفا

    نقل قول نوشته اصلی توسط meerkat
    بعد for مقدار crc به انتهاي پکتي که شما به فانکشن پاس کردي چسبونده ميشه .

    آره ديدم تو cmsis هم چک کردم ديدم با 0 اينيشيال ميکنه
    ولي اون موقعي که ff گزاشتم از اينجا ديدم:

    مهمان عزیز شما حق دیدن لینک ها را ندارید

    عضویت



    و با 0 درست جواب نميده !
    بازم ممنون
    فقط يه مشكل پايه خوردم و قاطي كردم :angry:
    الان من بايد frame_len رو واسه 104 بيت ديتا (2 تا 16 بيتي و 3تا 24 بيتي كه در مجموع داخل 5 خونه از يك آرايه uint32_t ذخيره كردم و ميخوام واسه مجموعه اين 104 بيت ، يك كد CRC بگيرم) ، چي بزارم؟؟ :angry:
  9. #9
    2007/12/13
    تهران
    732
    15

    پاسخ : CRC Engine در LPC1788 : كمك كنين لطفا

    به تعداد بايت ها len بده
    از جمله ی رفتگان این راه دراز
    باز آمده ای کو که به ما گوید راز
    هان بر سر این دو راهه از روی نیاز
    چیزی نگذاری که نمی آیی باز
  10. #10
    2012/07/09
    مشهد
    109
    4

    پاسخ : CRC Engine در LPC1788 : كمك كنين لطفا

    نقل قول نوشته اصلی توسط meerkat
    بعد for مقدار crc به انتهاي پکتي که شما به فانکشن پاس کردي چسبونده ميشه .

    آره ديدم تو cmsis هم چک کردم ديدم با 0 اينيشيال ميکنه
    ولي اون موقعي که ff گزاشتم از اينجا ديدم:

    مهمان عزیز شما حق دیدن لینک ها را ندارید

    عضویت



    و با 0 درست جواب نميده !
    خب 2 نوع CRC-16 داره. يكي CRC-16 و يكي CRC-16CCITT . من نوع if دوم اين تابع مد نظرمه.بايد 0xFFFF بزارم يا همون 0x0000 ؟؟؟
    کد:
    void CRC_Init(CRC_Type CRCType)
    {
    	if(CRCType == CRC_POLY_CRCCCITT)
    	{
    		LPC_CRC->MODE = 0x00;
    		LPC_CRC->SEED = 0xFFFF;
    		crc_cur_type = CRC_POLY_CRCCCITT;
    	}
    	else if(CRCType == CRC_POLY_CRC16)
    	{
    		LPC_CRC->MODE = 0x15;
    		LPC_CRC->SEED = 0x0000;
    		crc_cur_type = CRC_POLY_CRC16;
    
    	}
    	else if(CRCType == CRC_POLY_CRC32)
    	{
    		LPC_CRC->MODE = 0x36;
    		LPC_CRC->SEED = 0xFFFFFFFF;
    		crc_cur_type = CRC_POLY_CRC32;
    	}
    	else
    	{
    		//Invalid input parameter
    		while(1);//error loop
    	}
    }
صفحه 1 از 2 12 آخرین
نمایش نتایج: از 1 به 10 از 19

موضوعات مشابه

  1. مشكلات موبايلاتونو اينجا مطرح كنين
    توسط abedjoon در انجمن موبايل
    پاسخ: 196
    آخرين نوشته: 2018/08/07, 18:03
  2. پاسخ: 5
    آخرين نوشته: 2015/11/21, 13:49
  3. پردازش تصوير،از صفر تا هر جا كه همكاري كنين ...
    توسط KhepeleSibilo در انجمن پردازش تصوير
    پاسخ: 71
    آخرين نوشته: 2015/09/07, 20:14
  4. engine frequency
    توسط imsad88 در انجمن سیستمهای مخابراتی
    پاسخ: 0
    آخرين نوشته: 2015/01/03, 18:57
  5. پاسخ: 4
    آخرين نوشته: 2011/04/20, 14:55

کلمات کلیدی این موضوع

علاقه مندي ها (Bookmarks)

علاقه مندي ها (Bookmarks)

مجوز های ارسال و ویرایش

  • شما نمیتوانید موضوع جدیدی ارسال کنید
  • شما امکان ارسال پاسخ را ندارید
  • شما نمیتوانید فایل پیوست کنید.
  • شما نمیتوانید پست های خود را ویرایش کنید
  •