السلام عليكم
بالعكس اخي هذه مفيده جدا وطبعا لو كنا نتعامل مع الاطراف معينه يفضل استخدام
كود:
sbit sw1 at RA0_bit;
sbit sw1_dir at TRISA0_bit;
لانك لوكتبت هذا.......
|
وعليك السلام ورحمة الله وبركاته.
أقصد بلا فائدة يعني لا تقلل عدد التعليمات... أما هذه الفوائد فأنا متفق معك فيها.
لكن أريد أن أقول شيئا بالنسبة لجعل البورت كله دخل...
كلامك صحيح في هذه النقطة إن كنت بعد ذلك سأستخدم مثلا لو بورت A تساوي ثلاثة مثلا... حينئذ لا بد من جعل بقية البورت مخارج ولا بد من جعلها أصفار.
إما إن كنت سأستخدم قراءة بِنَّة واحدة فلن تؤثر عليَّ جعل البورت مخارج أو مداخل... لأن البنات الأخرى سواء كانت وحايد أو أصفار فأنا لم أطلب من البك قراءتها، وكما تعرفون أنه في حالة جعل البورت مخرج يمكنك قراءته كما تقرأه لو كان مدخل... لهذا يمكنك أن تجعل بقية بورت A مخارج وتجعلها بصفر ثم تعطي أمرا بقراءة بورت A كاملا لتعرف حالة السويتشات.
ولكن هناك شيء آخر أريد أن أستفسر عنه...
سألتك في الرسائل الخاصة كيف تعلمت البك والميكروسي فكانت الإجابة من دورة أستاذ أحمد سمير فايد، لكن...
لكني قرأت التسعة دروس وقرأت جميع المشاركات في دورته المثبتة في هذا القسم مع ملاحظة أن الثمانية دروس الأولى هي أول 170 صفحة من كتاب أستاذ أحمد سمير فايد... المهم أني قرأت التسعة دروس ولم أجد فيها تعليمات ذكرتها في مشاركتك الأخيرة... معذرة فأنا مبتدئ ولم أنتهي من الدروس إلا منذ أيام قليلة.
على سبيل المثال أنت قلت:
يعني نصيحه لاتتعامل مع ريجيستر tris و port , lat مباشره وانما.......
ما هو ريجيستر lat؟
هذا لم يرد في التسعة دروس!!
وكذلك أريد شرحا بسيطا عن الأمر:
بينما لوكنت مستخدم مثلا sbit فأنه فقط سيكون هذا التعديل
كود:
sbit sw1 at RA3_bit;
sbit sw1_dir at TRISA3_bit;
كذلك هذا الأمر لم يرد في التسعة دروس!!
وبالنسبة للأمر #define والأمر inclyde أنا لم أعرفهم إلا منكم!!
وكذلك الأمر do_while لم يرد في الدروس التسعة وإنما تعلمته منك!!
سبب أنني وضعت هذه المسابقة أنني وأنا أقرأ في تجربة في أحد الدروس التسعة في دورة أستاذ أحمد سمير فايد قال أنه سيضع كود لينفذ وظيفة كذا... فوضعت الكود قبل أن أكمل القراءة ولم أستخدم متغيرات ولا حلقة for ... كل ما استخدمته tris و port و while و if و else و delay و goto و عناوين مثل aaa: فقط... ثم طورت الكود فجعلت الوظيفة أصعب وأصعب واستغنيت عن العناوين وعن goto وأصبحت كلها tris و port و while و if و else و delay فقط... وكان الكود صغيرا جدا... جدا جدا... حتى أنه يحتوي على 53 تعليمة بالطريقة التي نعد بها.
هذا هو سبب أني وضعت المسابقة.
فأين تعلمتم هذه التعليمات؟
وياريت لو شرح مختصر لها وأكون شاكرا لكم.
كما أن لدي سؤال آخر...
عندما أريد تحديد بن معين في البورت... أرى من يضع porta.f0 وهناك من يضع porta.b0 وهناك من يضع porta.bit لا أتذكر... المهم ما الفرق بينهم؟!
والسلام عليكم ورحمة الله وبركاته.