# استفسار عن الاتصال بين الحاسب ومايكروكنترولر بيك من المنفذ التسلسلي rs-232



## zamalkawi (27 يوليو 2010)

السلام عليكم
أستعمل مايكروكنترولر من نوع PIC16F876A وأريد أن أتبادل المعلومات بين المايكروكنترولر والكمبيوتر
ونويت أن أتمم هذا الاتصال من خلال المنفذ التسلسلي RS-232 حيث أنني أعتقد أن هذا هو أسهل الحلول
المشكلة هي أن معلوماتي في المايكروكنترولر بوجه عام محدودة
أريد أن أسأل أولا، هل سأحتاج إلى هاردوير إضافي؟ وما هو؟
وأين أجد أمثلة برامج لإتمام الاتصال، حتى أستطيع تغييرها لتناسب التطبيق الخاص بي؟
ومن ناحية الكمبيوتر، هل سأحتاج إلى كتابة برنامج لقراءة وكتابة المنفذ أم أنه يكفي (كمرحلة أولى على الأقل) استعمال برنامج الطرفية الفائقة Hyper Terminal؟ جدير بالذكر أن نظام التشغيل لدي هو Windows XP
وكيف يمكن برمجة الاتصال ليتم في الزمن الحقيقي؟
لقد بحثت في الإنترنت، ووجدت الكثير من النتائج، ولكن ضعف معلوماتي منعني من أن أفهمها جيدا، لذا أحتاج إلى بداية مبسطة وبعدها سأحاول أن أعثر على المعلومات بنفسي، ولهذا لجأت إليكم
شكرا مقدما
السلام عليكم​


----------



## محمدالقبالي (27 يوليو 2010)

اخي الكريم 

بالنسبة للمتحكم فسوف تحتاج الى max232 وذلك لان فولتية المنفذ التسلسلي 12V, واعلى فولتيه يتعامل معها الميكروكنترولر هي 5V .

اما بالنسبه للكمبيوتر فسوف تحتاج الى برنامج تعامل مع المنفذ التسلسلي بحيث ياخذ القيم من المنفذ والتي تاتي من الميكركنترولر وفي نفس الموقت يرسل بيانات الى الميكروكنترولر.

هذا عن كيفيه الربط بشكل مبدئى ... اذا اردت المزيد من المعلومات فمن الافضل مشاركه ما تريد عمله على المنتدى
يعني ممكن نعمل برنامج يقوم باضاءة لمبه عن طريق الكمبيوتر

تحياتي


----------



## zamalkawi (27 يوليو 2010)

جزاك الله خيرا أخ محمد
ما أريد عمله هوالتحكم في محرك كهربائي
وبالتالي أريد أن أعطي أوامرا من خلال الحاسب، ومن خلال الحاسب أيضا أقرأ قيم الموضع والسرعة، وهذه القيم من ستكون موجودة في المايكروكنترولر
وأريد أن يتم هذا على فترات زمنية متساوية، 1 ميللي ثانية مثلا
لم أتعلم بعد برمجة المنفذ التسلسلي في الحاسبن ولكن أعتقد أنه أسهل من برمجته في المايكروكنترولر، لذا أركز الآن على المايكروكنترولر
كما أنني أعتقد أن قراء وكتابة المنفذ التسلسلي سهل عن طريق ال Hyper terminal ولو حتى على سبيل اختبار الاتصال مع المايكروكنترولر
ما أحتاجه الآن هو كيفية برمجة بروتوكول الاتصال
هل توجد أكواد جاهزة لهذا الغرض؟


----------



## محمدالقبالي (27 يوليو 2010)

اخي الكريم 
بالنسبه لبرمجة المتحكم فانشاء الله اساعدك بقدر المستطاع 
اما الحاسب وما يتعلق به فانصحك بان تجد شخص يفهم برمجة المنافذ 

اخي الكريم ممكن اعرف ايش تخصصك ؟

تحياتي


----------



## zamalkawi (27 يوليو 2010)

شكرا جزيلا أخ محمد
تخصصي هو هندسة ميكانيكية ثم ميكاترونكس
وأهدف من هذا المشروع التجريبي أن أجرب لوغارتمات التحكم


----------



## محمدالقبالي (27 يوليو 2010)

zamalkawi قال:


> شكرا جزيلا أخ محمد
> تخصصي هو هندسة ميكانيكية ثم ميكاترونكس
> وأهدف من هذا المشروع التجريبي أن أجرب لوغارتمات التحكم


 
اوكي اخي الكريم كيف تكون البدايه من طرفي


----------



## zamalkawi (27 يوليو 2010)

للأسف أخ محمد لا أعرف كيف تكون البداية، فأنا لا زلت في بداية تعلم التعامل مع المايكروكنترولر
ما أريده هو كود يمكنني من إرسال واستقبال بيانات عبر المنفذ
ولا أدري هل الأمر عبارة عن ملف هيدر أدرجه في كود السي مع بعض الأوامر لكتابة وقراءة البيانات، أم أن الأمر يتطلب مني فهما للبروتوكول؟


----------



## zamalkawi (28 يوليو 2010)

محمدالقبالي قال:


> اخي الكريم ممكن اعرف ايش تخصصك ؟


هل يمكنني أن أسألك نفس السؤال؟ ما هو تخصصك؟


----------



## محمدالقبالي (30 يوليو 2010)

اخي الكريم 
عفوا عن تاخر الرد 

الاسم: محمد مسعد القبالي
التخصص: مهندس اجهزة ومعدات طبية

بالنسبة للكود الذي طلبته انشاء الله سوف اعد لك كود بسيط يقوم بارسال حزمه من البيانات بشكل متتالي الى المنفذ التسلسلي

تحياتي


----------



## zamalkawi (30 يوليو 2010)

أخي محمد
شكرا على الاهتمام
وجدت هذا الكود
http://www.microchipc.com/sourcecode/PIC_Hi-Tech_C_PIC16F87x_serial_comms_and_VB6_sample.zip
فبدلا من أن تعد لي كود، ربما يكون الأسهل لك أن تنظر فيه وتقول لي رأيك فيه، بدلا من أن تتعب نفسك في إعداد كود
الخطوة التالية هي أن أحاول فهم الكود وأسألك في الأوامر أو الخطوات التي لا أفهمها
فما رأيك؟


----------



## محمدالقبالي (30 يوليو 2010)

على الرحب والسعه


----------



## ali kadhom (31 يوليو 2010)

مشكور


----------



## جهادعقاب (1 سبتمبر 2010)

شكرا اخواي على جهودكم


----------

