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

   

magdy_3
:: مهندس متميز ::
تاريخ التسجيل: Aug 2006
الدولة: Philippines
المشاركات: 339
نشاط [ magdy_3 ]
قوة السمعة:
قديم 25-04-2013, 01:27 PM المشاركة 9   
افتراضي



شكرا لردك اخ مجدى ولكن اذا كنت انا اريد ان اتحكم فى كل امر من ال 21 امر فماذا افعل
الشكر لله اخى الكريم
بسيطة جدا اكتب [1]x مثلا لو كنت عايز العنضر رقم 1 او [3]x لو كنت عايز العنصر الثالث وهكدا
ارجو ان تكون وصلت الفكرة

اعلانات

الصورة الرمزية remon romany
remon romany
:: عضو نشط ::
تاريخ التسجيل: Feb 2011
المشاركات: 893
نشاط [ remon romany ]
قوة السمعة:
قديم 25-04-2013, 01:33 PM المشاركة 10   
افتراضي


الشكر لله اخى الكريم
بسيطة جدا اكتب [1]x مثلا لو كنت عايز العنضر رقم 1 او [3]x لو كنت عايز العنصر الثالث وهكدا
ارجو ان تكون وصلت الفكرة
شكرا لردك والفكرة وصلت بس انا عاوز اعرف x1 اللى فى الكود السابق دى تعنى اية
حيث اننا لم نحجز متغير باسم x1 من قبل فى الكود

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

الصورة الرمزية ناصراحمد2
ناصراحمد2
:: عضو ذهبي ::
تاريخ التسجيل: Jul 2009
الدولة: EGYPT
المشاركات: 1,315
نشاط [ ناصراحمد2 ]
قوة السمعة:
قديم 25-04-2013, 04:16 PM المشاركة 11   
angry


استاذ ناصر من خلال فهمى لشرح الكود اننا قمنا بتكرار هذا الامر
كود:
 porta.f0=1;porta.f1=1; porta.f1=0;  porta.f0=0;
   portb=x1;
 delay_us(300);
ولن سؤالى هنا اين الامر الذى يجعل x1 تاخذ محل x2 وهكذا فى كل مرة تكرار
كما فى هذا الكود
كود:
porta.f0=1;porta.f1=1; porta.f1=0;  porta.f0=0;
   portb=x1;
 delay_us(300);


  //////////////////////////////////////////////

  porta.f0=1;porta.f1=1; porta.f1=0;  porta.f0=0;
   portb=x2;
 delay_us(300);

  //////////////////////////////////////////////

  porta.f0=1;porta.f1=1; porta.f1=0;  porta.f0=0;
   portb=x3;
 delay_us(300);

  //////////////////////////////////////////////

  porta.f0=1;porta.f1=1; porta.f1=0;  porta.f0=0;
   portb=x4;
delay_us(300);


  //////////////////////////////////////////////

  porta.f0=1;porta.f1=1; porta.f1=0;  porta.f0=0;
   portb=x5;
delay_us(300);


  //////////////////////////////////////////////


  porta.f0=1;porta.f1=1; porta.f1=0;  porta.f0=0;
   portb=x6;
 delay_us(300);


  //////////////////////////////////////////////
  porta.f0=1;porta.f1=1; porta.f1=0;  porta.f0=0;
   portb=x7;
delay_us(300);

  //////////////////////////////////////////////
  porta.f0=1;porta.f1=1; porta.f1=0;  porta.f0=0;
   portb=x8;
 delay_us(300);
ارجو التوضيح لو سمحت
سؤالى الثانى كيف نختار متغيرات باسم متغيرات اخرى حيث اننا اخترنا مثلا المتغير x2 و x3 وهما موجودين ضمن ال 21 متغير
اما بالنسبة لامر الازاحة ارجو شرحة لانى مش فاهمة خالص
انا قمت بقراءة الشرح من اولة لهذا الدرس ولكن لا افهم بعض الاشياء
فارجو توضيح هذة الاشياء بطريقة مبسطة لو سمحت
وانا اسف على اى ازعاج اسببة لحضرتك
وشكرا
لم نختر متغير كنا قد اخترناة من قبل والا لحدث خطا فى الكود ..........
سؤالى هنا اين الامر الذى يجعل x1 تاخذ محل x2
فى هذا الجزء من الكود لا يوجد بة الا التحريك لمسجل الازاحة ولا يوجد بة تغيير اماكن المتغيرات .
ولكنة يوجد التبديل فى الجزء الاخير من الكود وانت لم تنسخ هذا الجزء بل نسخت الجزء الوسط من الكود
=====================
عموما واضح جدا انك لم تدرس درس المتغيرات بشكل جيد
يمكنك حجز متغير مثال x1 او x2 او x3 او متغير باسم nasser او اى كلمات .
هذة المتغيرات تكون تلقائيا تحمل 256 بايت
ويمكنك التحكم بكل بايت لوحدة
كمثال :
للتحكم بالبايت الاول للمتغير x1 يجب كتابتة كالاتى x1[0]
وللتحكم بالبايت الثانى لنفس المتغير نكتب x1[1] وهكذا حتى 255
ولانك لم تدرس المتغيرات بشكل جيد فانت لم تلاحظ هذا القوس المربع []
اذا تم وضع هذا القوس معناة جزء واحد من المتغير وليس المتغير بالكامل
ويجب تحديدة فى بداية حجز المتغير
كمثال
x[21]= { .........,.........,.......,........ الخ }
عموما كل هذا سببة خطا واحد فقط وللاسف ناس كتير تقع فى نفس هذا الخطا
وهو انك بتاخذ الشروحات من نصفها وليس من بدايتها


التعديل الأخير تم بواسطة : ناصراحمد2 بتاريخ 25-04-2013 الساعة 04:21 PM

الصورة الرمزية remon romany
remon romany
:: عضو نشط ::
تاريخ التسجيل: Feb 2011
المشاركات: 893
نشاط [ remon romany ]
قوة السمعة:
قديم 25-04-2013, 05:57 PM المشاركة 12   
ha


شكرا لردك استاذ ناصر وانا اسف لو كنت بسال اسئلة تافهة او غير مفهومة
لاكن انا عاوز افهم مش اكتر لانى اجد صعوبة فى فهم هذا الكود
انا فهمت اللى حضرتك قولتة لكن
عندى استفسار اخر بالنسبة للكود الاخير
فى الكود الاخير قمنا بجعل كل متغير ياخذ موقع المتغير الذى يلية
لكن اين يوجد الكود الذى يجعل portb يقوم بتنفيذ هذة الاوامر
حيث اننا جعلنا portb=x1
وx1 لا تساوى اى شئ فى الكود
فلو سمحت لو مفهاش رخامة منى يعنى تفهمنى الكود


magdy_3
:: مهندس متميز ::
تاريخ التسجيل: Aug 2006
الدولة: Philippines
المشاركات: 339
نشاط [ magdy_3 ]
قوة السمعة:
قديم 25-04-2013, 05:57 PM المشاركة 13   
افتراضي


لم نختر متغير كنا قد اخترناة من قبل والا لحدث خطا فى الكود ..........
سؤالى هنا اين الامر الذى يجعل x1 تاخذ محل x2
فى هذا الجزء من الكود لا يوجد بة الا التحريك لمسجل الازاحة ولا يوجد بة تغيير اماكن المتغيرات .
ولكنة يوجد التبديل فى الجزء الاخير من الكود وانت لم تنسخ هذا الجزء بل نسخت الجزء الوسط من الكود
=====================
عموما واضح جدا انك لم تدرس درس المتغيرات بشكل جيد
يمكنك حجز متغير مثال x1 او x2 او x3 او متغير باسم nasser او اى كلمات .
هذة المتغيرات تكون تلقائيا تحمل 256 بايت
ويمكنك التحكم بكل بايت لوحدة
كمثال :
للتحكم بالبايت الاول للمتغير x1 يجب كتابتة كالاتى x1[0]
وللتحكم بالبايت الثانى لنفس المتغير نكتب x1[1] وهكذا حتى 255
ولانك لم تدرس المتغيرات بشكل جيد فانت لم تلاحظ هذا القوس المربع []
اذا تم وضع هذا القوس معناة جزء واحد من المتغير وليس المتغير بالكامل
ويجب تحديدة فى بداية حجز المتغير
كمثال
x[21]= { .........,.........,.......,........ الخ }
عموما كل هذا سببة خطا واحد فقط وللاسف ناس كتير تقع فى نفس هذا الخطا
وهو انك بتاخذ الشروحات من نصفها وليس من بدايتها
اخى استاد احمد ناصر
اعتقد اننا لازم نتناقش فى هدا الامر
كيف عند حجز متغير ياخد 256 بايت
اكيد تقصد 8 بت وهو ياخد القيمة من صفر الى 255
او ادا كانت مصفوفة تاخد العدد المكتوب داخل الاقواس من البايت
بمعنى
[x[21 معناها مصفوفة من 21 بايت وكل بايت ياخد رقم من المصفوفة مثل
[3]x هو البايت الرابع فى المصفوفة لان [0]x هو البايت الاول
ولا انا غلطان


الصورة الرمزية ناصراحمد2
ناصراحمد2
:: عضو ذهبي ::
تاريخ التسجيل: Jul 2009
الدولة: EGYPT
المشاركات: 1,315
نشاط [ ناصراحمد2 ]
قوة السمعة:
قديم 25-04-2013, 07:22 PM المشاركة 14   
angry


اخى استاد احمد ناصر
اعتقد اننا لازم نتناقش فى هدا الامر
كيف عند حجز متغير ياخد 256 بايت
اكيد تقصد 8 بت وهو ياخد القيمة من صفر الى 255
او ادا كانت مصفوفة تاخد العدد المكتوب داخل الاقواس من البايت
بمعنى
[x[21 معناها مصفوفة من 21 بايت وكل بايت ياخد رقم من المصفوفة مثل
[3]x هو البايت الرابع فى المصفوفة لان [0]x هو البايت الاول
ولا انا غلطان
فعلا كلامك سليم اخى مجدى وشكرا للتصحيح
المعلومة التى اريد ان اوصلها للاخ صاحب الموضوع ان علية دراسة الشروحات من البداية ولا ياخذ الشروحات من منتصفها
وكل اسئلتة هنا قد تم شرحها تفصيليا فى دورة الماتركس
وحتى الاكواد المنسوخة تجد ان اغلبها ملخبط لانة لم يتم نسخها بدقة او انة قام بنسخ اجزاء وترك اجزاء اخرى .
واختصار الماتركس هو بالظبط كتجديد نقطة على سطح الكرة الارضية فيجب وضع رقم خط العرض على رقم خط الطول لتحديد نقطة معينة .
ونفس الشىء للماتركس عندما يكون العمود كذا مفعل نرسل داتا كذا من الميكروكونترول وهكذا .


magdy_3
:: مهندس متميز ::
تاريخ التسجيل: Aug 2006
الدولة: Philippines
المشاركات: 339
نشاط [ magdy_3 ]
قوة السمعة:
قديم 25-04-2013, 07:53 PM المشاركة 15   
افتراضي


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


الصورة الرمزية remon romany
remon romany
:: عضو نشط ::
تاريخ التسجيل: Feb 2011
المشاركات: 893
نشاط [ remon romany ]
قوة السمعة:
قديم 25-04-2013, 08:14 PM المشاركة 16   
افتراضي


شكرا لردك استاذ ناصر وانا اسف لو كنت بسال اسئلة تافهة او غير مفهومة
لاكن انا عاوز افهم مش اكتر لانى اجد صعوبة فى فهم هذا الكود
انا فهمت اللى حضرتك قولتة لكن
عندى استفسار اخر بالنسبة للكود الاخير
فى الكود الاخير قمنا بجعل كل متغير ياخذ موقع المتغير الذى يلية
لكن اين يوجد الكود الذى يجعل portb يقوم بتنفيذ هذة الاوامر
حيث اننا جعلنا portb=x1
وx1 لا تساوى اى شئ فى الكود
فلو سمحت لو مفهاش رخامة منى يعنى تفهمنى الكود
استاذ ناصر لو سمحت ارجو ان ترد عليا فى هذا السؤال



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