قسم الميكروكنترولر والروبوت ودوائر الاتصال بالحاسب الالي قسم المتحكمات الـ microcontroller و المعالجات microprocessor و التحكم الرقمي بالكمبيوتر CNC والانظمة الآلية والروبوت Robots

   

robota
:: عضو ذهبي ::
تاريخ التسجيل: Jul 2009
الدولة: الخرطوم_السودان
المشاركات: 895
نشاط [ robota ]
قوة السمعة:
قديم 02-10-2009, 08:02 AM المشاركة 33   
افتراضي



السلام عليكم
أعتذر لأخى robota
لا باس اخى حسان
هذابرنامج مثل البرنامج السابق تماما وتم إختباره ويعمل على الدائرة الوهمية
ليس هناك error هذه المرة لكن الدائرة لا يستجيب
بارك الله فيك والى الامام دوما

اعلانات

hassan-mohamed
:: مهندس ::
تاريخ التسجيل: Sep 2009
المشاركات: 15
نشاط [ hassan-mohamed ]
قوة السمعة:
قديم 02-10-2009, 10:21 AM المشاركة 34   
افتراضي


السلام عليكم
اخي الحبيب
هل المعادله P=nT خاصه ببرنامج WINDRIVER او انا USB طريقه ارساله هكذا؟

لماذا في USB نعمل ملف DESCRIPTOR عند استخدام SERIL PORT لا نستخدم هذا الملف؟

هل استطيع ان اضع ماريد في VID و PID ؟
أولا: المعادلة P=nT تم تحديدها فى برنامج الميكروسى الموجود فى الميكرو لذلك عند الإرسال من الكمبيوتر لابد من إتباع هذا النمط حتى يستطيع الميكرو تفسيرها بناء على البرنامج الموجود عليه
وإذا أردت تغيير هذا النمط قم بتغييره فى برنامج الميكروسى ولكن مع مراعاة أن يتم الإرسال من الكمبيوتر(السى شارب) بنفس النمط حتى يستطيع الميكرو تفسيره

ثانيا:بالنسبة للDescriptor هو خاص بالUSB Devices ويحتوى على معلومات عن الDevice وهناك عدة أنواع من الDescriptor والنوع المستخدم هنا هو HID Descriptor وهذه المعلومات ستظهر أيضا فى الDevice manager

ثالثا:الPID والVID بمثابة اسم للDevice يتم استخدامه عند الإرسال لها ولذلك إذا قمت بتغييره يجب تغييره أيضا فى برنامج السى شارب
ملحوظة:قيم الPID والVID التى تم استخدامها هى لإختبار الDevice فقط أما إذا أردت استخدام الDevice كمنتج فى السوق يجب عليك الحصول على VID الخاص بك والذى لن يتكرر على مستوى العالم من المنظمة المسئولة عن الUSB وموقعها www.usb.org وطبعا كل منتج من منتجاتك سيأخذ نفس الVID مع تغيير قيمة الPID من منتج لأخر

اعلانات اضافية ( قم بتسجيل الدخول لاخفائها )

hassan-mohamed
:: مهندس ::
تاريخ التسجيل: Sep 2009
المشاركات: 15
نشاط [ hassan-mohamed ]
قوة السمعة:
قديم 02-10-2009, 10:24 AM المشاركة 35   
افتراضي


السلام عليكم

لا باس اخى حسان

ليس هناك error هذه المرة لكن الدائرة لا يستجيب
بارك الله فيك والى الامام دوما
هل قمت بعمل الDriver ببرنامج WinDriver
هل الDevice ظاهرة فى الDevice manager أم لا


MWWM
:: مهندس جيد ::
تاريخ التسجيل: Aug 2009
المشاركات: 237
نشاط [ MWWM ]
قوة السمعة:
قديم 02-10-2009, 11:10 AM المشاركة 36   
افتراضي


لكن لماذا وضعت لماذا لايتم الارسال مباشره بدون هذه المعادله؟


unsigned char Read_buffer[64];
unsigned char Write_buffer[64];

Read_buffer[0] == 'P' && Read_buffer[1] == '=' && Read_buffer[3] == 'T'

مالمقصود بالرقم 64 في buffer ؟

ولماذا في المعادله buffer نضع الارقام 0 و1 و2 و3 ونحن وضعنا 64 ؟



شكرا لك


robota
:: عضو ذهبي ::
تاريخ التسجيل: Jul 2009
الدولة: الخرطوم_السودان
المشاركات: 895
نشاط [ robota ]
قوة السمعة:
قديم 02-10-2009, 11:54 AM المشاركة 37   
افتراضي


هل قمت بعمل الDriver ببرنامج WinDriver
هل الDevice ظاهرة فى الDevice manager أم لا
نعم ال devices ظاهرة فى ال device manager


hassan-mohamed
:: مهندس ::
تاريخ التسجيل: Sep 2009
المشاركات: 15
نشاط [ hassan-mohamed ]
قوة السمعة:
قديم 02-10-2009, 02:13 PM المشاركة 38   
افتراضي


لكن لماذا وضعت لماذا لايتم الارسال مباشره بدون هذه المعادله؟




مالمقصود بالرقم 64 في buffer ؟

ولماذا في المعادله buffer نضع الارقام 0 و1 و2 و3 ونحن وضعنا 64 ؟



شكرا لك
ببساطة السطرين الأول والثانى الغرض منهم تعريف مخزنين أو مصفوفتين إحداهما للقراءة من الusb وهى Read_Buffer والأخرى للكتابة للUsb وهى Write_Buffer وهاتين المصفوفتين حجم كل منهما 64 حرف (هذا الحجم يتم تحديده بين القوسين عند التعريف) وهو حجم أكبر مما نحتاجه حيث أننا نحتاج فقط 4 حروف ولكن لا مانع من زيادة حجم المصفوفة ولكن إذا قمت بتغيير الحجم إلى 4 ليس هناك أى مشكلة حيث أننى قمت بتجربتها
كل حرف داخل هاتين المصفوفتين يأخذ رقم بداية من صفر وحتى 63
وللتعامل مع حرف معين داخل المصفوفة يتم كتابة اسم المصفوفة وبين قوسين يتم كتابة رقم هذا العنصر فمثلا للتعامل مع أول حرف من المصفوفة Read_Buffer نكتب
Read_Buffer[0] ----->The First
Read_Buffer[1] ----->The Second
Read_Buffer[2] ----->The Third
Read_Buffer[3] ----->The Fourth
Read_Buffer[63] ----->The Last
بعد ذلك فإن جملة الif تقوم بإختبار إذا كان الحرف الأول P والثانى = والرابع T فإذا كان ذلك صحيحا يتم عرض قيمة الحرف الثالث وهو nعلى الPortB وذلك من خلال جملة
PortB=Read_Buffer[2]

هل وضحت الأمور؟النمط P=nT ليس إجبارى ولكن يفضل أن تحدد نمطا لتنظيم عملية الإرسال


التعديل الأخير تم بواسطة : hassan-mohamed بتاريخ 02-10-2009 الساعة 02:21 PM

hassan-mohamed
:: مهندس ::
تاريخ التسجيل: Sep 2009
المشاركات: 15
نشاط [ hassan-mohamed ]
قوة السمعة:
قديم 02-10-2009, 02:23 PM المشاركة 39   
افتراضي


نعم ال devices ظاهرة فى ال device manager
طيب هل عملت التعريف بشكل صحيح بإستخدام برنامج WinDriver
ياريت بعد لما تشغل الSimulation تضغط على كلمة Messages الموجودة على يمين أزرار تشغيل الSimulation وتخبرنى بما حدث


MWWM
:: مهندس جيد ::
تاريخ التسجيل: Aug 2009
المشاركات: 237
نشاط [ MWWM ]
قوة السمعة:
قديم 02-10-2009, 02:50 PM المشاركة 40   
افتراضي


شكرا لك

واضح جدا



الساعة معتمدة بتوقيت جرينتش +3 الساعة الآن: 05:02 PM
موقع القرية الالكترونية غير مسؤول عن أي اتفاق تجاري أو تعاوني بين الأعضاء
فعلى كل شخص تحمل مسئولية نفسه إتجاه مايقوم به من بيع وشراء وإتفاق وأعطاء معلومات موقعه
التعليقات المنشورة لا تعبر عن رأي موقع القرية الالكترونية ولايتحمل الموقع أي مسؤولية قانونية حيال ذلك (ويتحمل كاتبها مسؤولية النشر)