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

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

الصورة الرمزية MYM
MYM
:: مهندس متميز ::
تاريخ التسجيل: Mar 2009
الدولة: مصر
المشاركات: 337
نشاط [ MYM ]
قوة السمعة:0
قديم 05-12-2009, 05:50 PM المشاركة 1   
ha الحقوني ..... الحقوني يا خبراء C Twitter FaceBook Google+



أنا عملت مشروع لقياس معدل النبضات Pulse Rate واستخدمت ال PICBasic في البرمجة و كانت الدالة المستخدمة هي Count و بالتفصيل تكتب كالآتي:-
Count Pin,Period,Var
حيث أن Pin هي الرجل المستخدمة للقياس مثل PortB.0 مثلا و الـ Period هي الفترة التي سيتم القياس فيها بمعنى أنني لو اردت قياس معدل النبضات كل نصف ثانية تكون قيمتها 500 ميلي ثانية و إذا أردت قياس معدل النبضات في الثانية تكون 1000 ميلي ثانية , أما Var فهو المتغير الذي سيحفظ فية قيمة القياس.

السؤال الأول
هل هناك مثل هذة الدالة البسيطة و السهلة في لغة C لأنني أردت أن أستخدم هذة اللغة بدلا من PICBasic لعلمي أن هذة اللغة هي أقوى اللغات في البرمجة؟؟؟؟؟

السؤال الثاني
بخصوص الــ Interrupt ... هل هناك دوال للتمييز بين مصدر كل Interrupt عن الآخر أم أنة إذا حدث Interrupt مهما كان مصدرة (Timer0 أو Timer1 أو حتى خارجي ...) سيفعل الكود المكتوب داخل الــInterrupt بصرف النظر عن مصدرة .....؟؟؟؟

أرجو من الإخوة الأفاضل نجدتي و جزاكم الله خير الجزاء



التعديل الأخير تم بواسطة : MYM بتاريخ 05-12-2009 الساعة 05:58 PM السبب: إضافة السؤال الثاني
اعلانات

الصورة الرمزية sheimy
sheimy
:: عضو ذهبي ::
تاريخ التسجيل: Jul 2009
الدولة: Egypt
المشاركات: 789
نشاط [ sheimy ]
قوة السمعة:99
قديم 05-12-2009, 06:22 PM المشاركة 2   
افتراضي


أنا عملت مشروع لقياس معدل النبضات Pulse Rate واستخدمت ال PICBasic في البرمجة و كانت الدالة المستخدمة هي Count و بالتفصيل تكتب كالآتي:-
Count Pin,Period,Var
حيث أن Pin هي الرجل المستخدمة للقياس مثل PortB.0 مثلا و الـ Period هي الفترة التي سيتم القياس فيها بمعنى أنني لو اردت قياس معدل النبضات كل نصف ثانية تكون قيمتها 500 ميلي ثانية و إذا أردت قياس معدل النبضات في الثانية تكون 1000 ميلي ثانية , أما Var فهو المتغير الذي سيحفظ فية قيمة القياس.

السؤال الأول
هل هناك مثل هذة الدالة البسيطة و السهلة في لغة C لأنني أردت أن أستخدم هذة اللغة بدلا من PICBasic لعلمي أن هذة اللغة هي أقوى اللغات في البرمجة؟؟؟؟؟

السؤال الثاني
بخصوص الــ Interrupt ... هل هناك دوال للتمييز بين مصدر كل Interrupt عن الآخر أم أنة إذا حدث Interrupt مهما كان مصدرة (Timer0 أو Timer1 أو حتى خارجي ...) سيفعل الكود المكتوب داخل الــInterrupt بصرف النظر عن مصدرة .....؟؟؟؟

أرجو من الإخوة الأفاضل نجدتي و جزاكم الله خير الجزاء


اخى
الموضوع فى غاية السهولة

فى لغة السى اذا لم تكن ال Method موجودة يمكنك عملها وبسهولة

اما بالنسبة لل interrupt

فالامر ايضا سهل
لكل interrupt
يوجد flage

وانت فى ال method الخاصة بال interrupt
تعمل check على قيمة هذا ال flage

فمثلا
لو كان ال interrupt قادم من timer0 سيكون flage ال timer0 بواحد

من هنا يمكن التفريق بينهم وبسهولة


نفعنا الله واياكم بما علمنا

احمد شيمى

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

الصورة الرمزية MYM
MYM
:: مهندس متميز ::
تاريخ التسجيل: Mar 2009
الدولة: مصر
المشاركات: 337
نشاط [ MYM ]
قوة السمعة:0
قديم 05-12-2009, 06:27 PM المشاركة 3   
افتراضي


مشكور جداااااااااااااا على سرعة الإستجابة .....
أنا فهمت إجابة الثاني .... و لكن بخصوص الأول ... ما هي الـــ Method و كيف أعملها ...... أنا آسف .. فأنا جديد على الـ ـC


الصورة الرمزية #MAAM#
#MAAM#
:: عضو ذهبي ::
تاريخ التسجيل: Jun 2008
الدولة: EGYPT
المشاركات: 567
نشاط [ #MAAM# ]
قوة السمعة:92
قديم 05-12-2009, 06:33 PM المشاركة 4   
افتراضي


أنا عملت مشروع لقياس معدل النبضات Pulse Rate واستخدمت ال PICBasic في البرمجة و كانت الدالة المستخدمة هي Count و بالتفصيل تكتب كالآتي:-
Count Pin,Period,Var
حيث أن Pin هي الرجل المستخدمة للقياس مثل PortB.0 مثلا و الـ Period هي الفترة التي سيتم القياس فيها بمعنى أنني لو اردت قياس معدل النبضات كل نصف ثانية تكون قيمتها 500 ميلي ثانية و إذا أردت قياس معدل النبضات في الثانية تكون 1000 ميلي ثانية , أما Var فهو المتغير الذي سيحفظ فية قيمة القياس.

السؤال الأول
هل هناك مثل هذة الدالة البسيطة و السهلة في لغة C لأنني أردت أن أستخدم هذة اللغة بدلا من PICBasic لعلمي أن هذة اللغة هي أقوى اللغات في البرمجة؟؟؟؟؟

السؤال الثاني
بخصوص الــ Interrupt ... هل هناك دوال للتمييز بين مصدر كل Interrupt عن الآخر أم أنة إذا حدث Interrupt مهما كان مصدرة (Timer0 أو Timer1 أو حتى خارجي ...) سيفعل الكود المكتوب داخل الــInterrupt بصرف النظر عن مصدرة .....؟؟؟؟

أرجو من الإخوة الأفاضل نجدتي و جزاكم الله خير الجزاء

السلام عليكم

أخي الكريم

بالنسبة للسؤال الاول ............ ممكن توضح أكتر ممكن تكتب هنا الكود كامل أو مخطط الدائرة الالكترونية ؟؟!!

بالنسبة للسؤال الثاني ............ الدالة الخاصة ب interrupt واحدة ولكن إذا كان هناك أكثر من interrupt فيجب أن تختبر نوع interrupt داخل الدالة

وإليك هذا المثال للتوضيح

1- إذا كان هناك نوع واحد في interrupt أنت تسمح به (مثلا TMR0) فسيكون شكل الدالة كالاتي
كود:
void interrupt() {
الكود الخاص بك
}//~
2- إذا كان هناك أكثر من interrupt أنت تسمح به مثلا (TMR0IF & RBIF) فسيكون شكل الدالة كلاتي

كود:
void interrupt() {
  if (INTCON.TMR0IF) {
    الكود الخاص بك
  }
  else if (INTCON.RBIF) {
     الكود الخاص بك }
}//~
أتمنى أن أكون أفدتك ,,,,,,,,,,, وجزاكم الله كل خير


الصورة الرمزية MYM
MYM
:: مهندس متميز ::
تاريخ التسجيل: Mar 2009
الدولة: مصر
المشاركات: 337
نشاط [ MYM ]
قوة السمعة:0
قديم 05-12-2009, 06:46 PM المشاركة 5   
افتراضي


أخي الفاضل #MAAM#
جزاكم الله خيرا على السؤال الثاني ... أما بخصوص الأول فهو بكل بساطة
هل من الممكن جعل الـ PIC يقيس معدل نبضات Pulse Rate إشارة ما ؟ و أيضا قد تسميه Hz لإشارة ما؟ ...
مثلا 555 يخرج إشارة مربعة ترددية ... هل بإمكان PIC أن يقيس تردد هذة الأشارة إذا أوصلنا هذة الإشارة على أحد مداخل الـPIC و لتكن PortB.0 مثلا.
في لغة PICBasic كان هناك دالة جاهزة لذلك .... فهل في لغة C ما يؤدي نفس الدور ؟


الصورة الرمزية MYM
MYM
:: مهندس متميز ::
تاريخ التسجيل: Mar 2009
الدولة: مصر
المشاركات: 337
نشاط [ MYM ]
قوة السمعة:0
قديم 05-12-2009, 07:57 PM المشاركة 6   
افتراضي


أين أنتم يا شباب؟


الصورة الرمزية MYM
MYM
:: مهندس متميز ::
تاريخ التسجيل: Mar 2009
الدولة: مصر
المشاركات: 337
نشاط [ MYM ]
قوة السمعة:0
قديم 05-12-2009, 08:09 PM المشاركة 7   
Thumbs up


أشكر الأخ الشيمي على اهتمامه الخاص ... جزاة الله كل خير و للأمام دائما أخ شيمي


الصورة الرمزية MYM
MYM
:: مهندس متميز ::
تاريخ التسجيل: Mar 2009
الدولة: مصر
المشاركات: 337
نشاط [ MYM ]
قوة السمعة:0
قديم 06-12-2009, 07:57 PM المشاركة 8   
ha


هل يعرف أحدكم ما هي الـ Method ؟

إضافة رد

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

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

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


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

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