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

أدوات الموضوع

الصورة الرمزية mohatvnet
mohatvnet
:: مهندس متميز ::
تاريخ التسجيل: Mar 2009
الدولة: https://t.me/pump_upp
المشاركات: 961
نشاط [ mohatvnet ]
قوة السمعة:0
قديم 22-01-2011, 07:32 AM المشاركة 1   
ha سؤال على لغة ميكروسي. Twitter FaceBook Google+



اسلام عليكم

حين اردت ان اصمم كود يرسل اشارة متل اشارة ريموت كونترول واستعملت 2ميكروكنترولر الفكرة هي الاول يرسل اشارة الى الميكروكنترولر تاني ويعلجها ويشغل دور معين
مثال.

كود المرسل هو
{if(porta.f0==0){portb.f0=1; delay_us(55);portb.f0=0; delay_us(45)
else{PORTB.F0=0;}

هما عدة اكواد بورت a وبورت b متلا حينما اضغط على سويتش a0 ميكرو كنترولر الاول يستقبلها الميكروكنترولر تاني من a0 ويختبر ادا تحققق شرط سيشتغل a0 ميكروكنترولر التاني وهاكدا مع كل بورتات


ولكن المشكل في كود الميكروكنترولر تاني اريد كيف ان اختبر شرط بجملة if

اعني كيف اضع هدا الكود في if

portb.f0=1; delay_us(55);portb.f0=0; delay_us(45


انا يا اخواني الكرام في امس حاجة للمسساعدة وشكرا للجميع

اعلانات

الصورة الرمزية tata2
tata2
:: عضو متميز ::
تاريخ التسجيل: Jan 2007
الدولة: https://t.me/pump_upp
المشاركات: 238
نشاط [ tata2 ]
قوة السمعة:0
قديم 24-01-2011, 05:01 PM المشاركة 2   
افتراضي


بيتهيألي والله اعلم انك ممكن تستخدم المقاطعة
interrupt
وللاسف بشمهندس احمد سمير لم يتح له الوقت ليتحفنا به

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

الصورة الرمزية tata2
tata2
:: عضو متميز ::
تاريخ التسجيل: Jan 2007
الدولة: https://t.me/pump_upp
المشاركات: 238
نشاط [ tata2 ]
قوة السمعة:0
قديم 24-01-2011, 05:19 PM المشاركة 3   
افتراضي


او ممكن تبقي
if (portb.f0==1){delay_us(55);if (portb.f0==0)l
{شرط معين}
end end

يبقي التحكم في الكود عن طريق الزمن اللي فيه النبضة بواحد بس
وكده طبعا المرسل حيبقي زمن عند الواحد بس
وبعديه تبعت صفر لمدة طويلة 500 مللي ثانية مثلا
وده عشان مثلا
لو انتا اخترت زرار معين الكود بتاعه واحد لمدة 110ميكرو
والكنترولر المستقبل معملش فحص علي بورت ب من البداية
يعني فرضا انه ابتدي يعمل فحص بعد ما 110 ميكرو ضاع منهم النص تقريبا
المستقبل حيشفهم علي انهم 55 ميكرو ثانية يعني وظيفة تانية المفروض

يعني كود الراسل يبقي زي اللي انتا كاتبه ده بس زود الزمن اللي فيه بورت ب
بصفر


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

نسيت حاجة المفروض الكود بتاع المستقبل يتكرر عشان يعمل فحص باستمرار علي بورت ب
ممكن تستخدم
while or switch case
بس مش عارف ممكن تكون ازاي


التعديل الأخير تم بواسطة : tata2 بتاريخ 24-01-2011 الساعة 05:41 PM
إضافة رد

العلامات المرجعية

«     الموضوع السابق       الموضوع التالي    »
أدوات الموضوع

الانتقال السريع إلى


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

Powered by vBulletin® Version 3.8.6, Copyright ©2000 - 2025