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

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

الصورة الرمزية mahmosha
mahmosha
:: مهندس جيد ::
تاريخ التسجيل: Sep 2011
الدولة: مصر
المشاركات: 213
نشاط [ mahmosha ]
قوة السمعة:0
قديم 16-09-2011, 03:04 PM المشاركة 1   
adevil معلومه بسيطه Twitter FaceBook Google+



اهلا بالكل و صباح الفل
انا اكتشفت حاجه و انا اعد ببرمج اولت مش هاخوشها عن اللي معلمني
بصو عالكود ده
كود:
#define led_on portb.f0=1
void main (){
trisb=0;
portb=0;
led_on
}
اكيد كولو بيقول الكود غلط يا استاذ
هاؤلك ممكن نخليه صح
هتقولي ازاي
هقولك كده
CODE]#define led_on portb.f0=1;
void main (){
trisb=0;
portb=0;
led_on
}[/CODE]
لاحظت؟
حاطينا ; في جملت define فاصبحت معرفه كده علي طول
انا عارف انها تفهه بس انا عالطول بانسي ; فا يمكن تفدني و تفدكو
و السلام عليكم ورحمه الله

اعلانات

الصورة الرمزية mahmosha
mahmosha
:: مهندس جيد ::
تاريخ التسجيل: Sep 2011
الدولة: مصر
المشاركات: 213
نشاط [ mahmosha ]
قوة السمعة:0
قديم 16-09-2011, 03:06 PM المشاركة 2   
افتراضي


اهلا بالكل و صباح الفل
انا اكتشفت حاجه و انا اعد ببرمج اولت مش هاخوشها عن اللي معلمني
بصو عالكود ده
كود:
#define led_on portb.f0=1
void main (){
trisb=0;
portb=0;
led_on
}
اكيد كولو بيقول الكود غلط يا استاذ
هاؤلك ممكن نخليه صح
هتقولي ازاي
هقولك كده
CODE]#define led_on portb.f0=1;
void main (){
trisb=0;
portb=0;
led_on
}[/CODE]
لاحظت؟
حاطينا ; في جملت define فاصبحت معرفه كده علي طول
انا عارف انها تفهه بس انا عالطول بانسي ; فا يمكن تفدني و تفدكو
و السلام عليكم ورحمه الله
كود:
#define led_on portb.f0=1;
void main (){
trisb=0;
portb=0;
led_on
متأسف علي الخطأ

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

الصورة الرمزية free_matrex2010
free_matrex2010
:: مهندس متواجد ::
تاريخ التسجيل: Oct 2009
المشاركات: 181
نشاط [ free_matrex2010 ]
قوة السمعة:0
قديم 16-09-2011, 03:26 PM المشاركة 3   
افتراضي


جزاك الله كل خير


الصورة الرمزية ناصراحمد2
ناصراحمد2
:: عضو ذهبي ::
تاريخ التسجيل: Jul 2009
الدولة: EGYPT
المشاركات: 1,334
نشاط [ ناصراحمد2 ]
قوة السمعة:98
قديم 17-09-2011, 12:56 AM المشاركة 4   
افتراضي


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

===============================
هذا يسمى ادراج
بمعنى انة هناك شىء قمت بتجهيذة فى بداية الكود
وتقوم باستدعائة فى اى وقت تشاء وفى اى مكان داخل الكود

ولكن الطريقة الامثل هى
عمل دالة مخصصة بذلك فى بداية الكود

ثم تقوم بادراجها فى الكود بمجرد كتابة اسمها

سوف استخدم نفس الكود الخاص بك

كود:
#define led_on portb.f0=1
void main (){
trisb=0;
portb=0;
led_on
}


كود:
void led_on ()
{portb.f0=1}
void main (){
trisb=0;
portb=0;
led_on();
}


لاحظ ماهو باللون الاحمر
هذة تسمى الدوال
من الممكن لمن يبحث عن المزيد عن هذا الامر ان يراجع الدروس الاخيرة
من دروس مهندس احمد سمير
والف الف شكر لكاتب الموضوع
تقبل مرورى


الصورة الرمزية ناصراحمد2
ناصراحمد2
:: عضو ذهبي ::
تاريخ التسجيل: Jul 2009
الدولة: EGYPT
المشاركات: 1,334
نشاط [ ناصراحمد2 ]
قوة السمعة:98
قديم 17-09-2011, 12:59 AM المشاركة 5   
افتراضي


اضافة بسيطة :
من الممكن ان تضم الدالة امر واحد او مجموعة اوامر
او حتى برنامج كامل فى حد ذاتة (مجموعة اوامر )

وعند استدعائها كانك بالضبط قمت بكتابتها كما هى


الصورة الرمزية mahmosha
mahmosha
:: مهندس جيد ::
تاريخ التسجيل: Sep 2011
الدولة: مصر
المشاركات: 213
نشاط [ mahmosha ]
قوة السمعة:0
قديم 17-09-2011, 03:57 PM المشاركة 6   
Talking


اضافة بسيطة :
من الممكن ان تضم الدالة امر واحد او مجموعة اوامر
او حتى برنامج كامل فى حد ذاتة (مجموعة اوامر )

وعند استدعائها كانك بالضبط قمت بكتابتها كما هى
شكرا لك اخي علي الاضافه و شكرا لتشجيعك


the lion
:: مهندس متواجد ::
تاريخ التسجيل: Feb 2009
الدولة: egypt
المشاركات: 117
نشاط [ the lion ]
قوة السمعة:0
قديم 17-09-2011, 04:47 PM المشاركة 7   
افتراضي


جميله الاضافه جزاك الله خيرا
ولكن الافضل ان تكتب هكذا
كود:
#define LED_ON portb.f0=1
وعند الاستعمال نكتب هكذا 
LED_ON;
والافضل من هذا
كود:
#define LED_ON(PORT,BIT)      PORT|=1<<BIT
وعند الاستعمال نكتب
LED_ON(PORTB,0);
الكود الاخير سيعمل معك علي اي بورت واي كومبايلر للبيك او AVR
ان شاء الله
مثال :
LED_ON(PORTA,5);//set bit 5 on porta
لاحظ انه يفضل دائما استعمال الحروف الكبيره مع الماكرو (macro)
او اي كلمه تلي #define
كما ايضا يفضل كتابه الريجسترات الخاصه بالميكروكنترولر بالحروف الكابتل

موفق ان شاء الله


الصورة الرمزية حيدر علاج حسن
حيدر علاج حسن
:: مشرف منتدى الهندسة الكهربائية ::
تاريخ التسجيل: Mar 2005
الدولة: IRAQ
المشاركات: 10,061
نشاط [ حيدر علاج حسن ]
قوة السمعة:395
قديم 17-09-2011, 06:22 PM المشاركة 8   
افتراضي


بارك الله فيكم اخواني ...
نقاش بناء و جميل ...

إضافة رد

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

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

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


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

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