|
تمام اخواني الاعزاء
الي الان الموضوع بدا يوضح لي ولكم..
ان شاء الله تنطلق ابداعاتكم لكي يتم كتابة الكود كامل واجربه ونستفيد جميعا من تلك التجربه
بارك الله فيكم ومتابع لكي اتعلم منكم ...
|
سلام عليكم
تم كتابة الكود وبلغة مايكروسي
http://arabsh.com/files/0c36454364f0/new_ok-rar.html
ولكن أستخدمت البك 16f877a ولكن اذا كان لديك البك 16f883 or 16f884 or or 16f885 16f886 لكون هذه المتحكمات 28 طرف وسعة ذاكره أكبر من 4 كيلوبايت
طبعا انا استخدمت معلومات كما في مثال المبين في ملف حساس
طريقة العمل يتم ضغط على سويج فسارسل البك هذه البيانات
02H, 01H, 00H, 00H, 03H
ثم ينتظر أستجابة من سنسر
أخي كريم
انا جربت مشروع بعمل محاكاة بشكل بسيط قمت بأرسال هذه البيانات بأستخدام الارسال عبر uart اي انني قمت بارسال بيانات الى البك بدلا من حساس
02H, 10H, 01H, F4H, E7H
وعندها قام بعرض قراءة على الشاشه=500m
ملاحظة مهمة البايت الخامس الموجود في البيانات الحساس سابقا قلت أني لااعرف عنه اي لااعرف مهمته من خلال قراءة وتحليل بيانات المثال تبين أنه يمثل check للبايتات الاربعة كيف ذلك أنظر الى الشرح من منول
Check: the XOR of STX, parameter, and data. Check=SBUF0 XOR SBUF1 XOR SBUTF2 XOR SBUF3.
اي انه يقوم بعمل XOR للبايتات الاربعة والنتيجة هي نفسها البايت خامس
لذا بسوفت وير علينا أن نعمل check لهذا البايت كيف ذلك بعد أن أحصل على الداتا أعمل XOR مع كل بايت مع بايت الاخر وأقوم بمقارنه النتيجه مع البايت الخامس فأذا كان متساوي فأن البيانات الاربعة التي أستلمتها من حساس هي صحيحة واذا كانت غير متساويه فبيانات غير صحيحة
اي ان بايت الخامس هو التاكيد على ان البيانات هي فعلا من حساس
أخي كريم
جرب مشروع واذا عمل معاك دون مشاكل فسيقوم بشرح الكود اذا كنت ترغب بذلك
وأعتذر عن تأخير
أتمنى لك التوفيق