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

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

A-M-S
:: مهندس جيد ::
تاريخ التسجيل: May 2014
المشاركات: 242
نشاط [ A-M-S ]
قوة السمعة:0
قديم 05-07-2014, 07:45 AM المشاركة 1   
افتراضي ما الفرق بين هذه التعريفات؟؟ Twitter FaceBook Google+



;sbit_led at porta.f0

#define led porta.f0

void led (){

اخواني الكرام..كل عام و انتم بالف خير
انا اعرف ماذا تعني هذه الاوامر و الامران ;sbit_led at porta.f0

#define led porta.f0 يعطين نفس المعنى و هو تعريف الليد على البورتa0 ولكن السؤال متى استعمل الاولى و متى استعمل الثانيه؟هل من ميزه معينه بين الامرين تجعلني استخدم الاولى في برنامج معين و الثانيه في برنامج اخر؟؟ام ان لي مطلق الخيار باستعمال اي من الامرين و في اي برنامج؟؟ و لماذا اراهم يكثرون من استخدام التعريف الاول ما دامت تعطيني نفس النتائج على التعريف الثاني؟؟
ارجو ان يكون سؤالي واضح ..
كذلك هل الامرvoid led (){ يشبه الامرين السابقين ؟هل يمكنني استخدامه مثلا بدلا اي منهما و يعطيني نفس النتيجه؟
و الله تعالى الموفق.

اعلانات

الصورة الرمزية funky112233
funky112233
:: عضو ذهبي ::
تاريخ التسجيل: Aug 2009
المشاركات: 666
نشاط [ funky112233 ]
قوة السمعة:93
قديم 05-07-2014, 04:52 PM المشاركة 2   
افتراضي


امر sbit
دة امر لتعرف الكلمة على بت معين فى الميكرو تستخدم كا دخل او خرج
يعنى كدة
كود:
sbit led at PORTB.f0;
لكن مثلا مينفعش تعرف بية بورت كامل يعنى بت واحدة بس
وممكن تستخدمة لتعريف اى بت فى اى بايت مش شرط البورتات B C D A
ممكن تعرف بت من بايت للاوبشن بتاع الميكرو زى الانتربت والمحول من تماثلى لديجتال
ولتعريف بورت كامل تكتب هكذا
كود:
char keypad at PORTD;
اما الامر #define
فدة امر تعريف عااام لكل حاجة تحتجها
من دوال كاملة لملفات فيها اوامر لتعريف مكتبات ومعظم الى تحتاجة يعنى
زى كدة مثلا
كود:
#define LOOP for( ; ; )
زى مانت شايف عرفت دالة باسم لووب

وهكذا

وممكن تبحثى عن الموضوع اكثر بشكل تقنى اكثر
فى المواقع المخصصة للغة السى

اما الامر
كود:
void led(){}
فدة مينفعش تعريف لبت جوة بايت
لان دة تعريف لدالة عمل

زى ال
كود:
void main(){}
فدة تعريف لعنوان دالة مكتوب بداخلها عدة اوامر

بالتوفيق ان شاء الله

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

A-M-S
:: مهندس جيد ::
تاريخ التسجيل: May 2014
المشاركات: 242
نشاط [ A-M-S ]
قوة السمعة:0
قديم 06-07-2014, 07:52 AM المشاركة 3   
افتراضي


امر sbit
دة امر لتعرف الكلمة على بت معين فى الميكرو تستخدم كا دخل او خرج
يعنى كدة
كود:
sbit led at PORTB.f0;
لكن مثلا مينفعش تعرف بية بورت كامل يعنى بت واحدة بس
وممكن تستخدمة لتعريف اى بت فى اى بايت مش شرط البورتات B C D A
ممكن تعرف بت من بايت للاوبشن بتاع الميكرو زى الانتربت والمحول من تماثلى لديجتال
ولتعريف بورت كامل تكتب هكذا
كود:
char keypad at PORTD;
اما الامر #define
فدة امر تعريف عااام لكل حاجة تحتجها
من دوال كاملة لملفات فيها اوامر لتعريف مكتبات ومعظم الى تحتاجة يعنى
زى كدة مثلا
كود:
#define LOOP for( ; ; )
زى مانت شايف عرفت دالة باسم لووب

وهكذا

وممكن تبحثى عن الموضوع اكثر بشكل تقنى اكثر
فى المواقع المخصصة للغة السى

اما الامر
كود:
void led(){}
فدة مينفعش تعريف لبت جوة بايت
لان دة تعريف لدالة عمل

زى ال
كود:
void main(){}
فدة تعريف لعنوان دالة مكتوب بداخلها عدة اوامر

بالتوفيق ان شاء الله
اخي الكريم funky112233 بارك الله فيك و زادك من علمه ..شرح جيد و مفهوم ان شاء الله.

إضافة رد

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

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

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


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

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