السلام عليكم استاذ حسن
بالنسبة لهذا الامر
كود:
void Lcd_Out20(char row, char col, const char *txt) {
هل المتغيرين row و col ثوابت ( لا اقصد const وانما ك أسماء ) وماهي وظيفتهم
بالنسبة للــ
لماذا جعلت الــ txt بوينتر ؟؟؟ ولماذا هو const ؟؟؟
هذه الاوامر
كود:
case 0: Lcd0_Command(128 + 0 + col ); break;
كود:
case 1: Lcd0_Command(128 + 64 + col ); break;
case 2: Lcd0_Command(128 + facter + col ); break;
case 3: Lcd0_Command(128 + 64+facter + col ); break;
ماهو عملها ؟؟؟؟؟
|
السلام عليكم
أخي العزيز داله void Lcd_Out20 هي مجرد اسم يمكنك تغيره هذه داله وضعت فيها ثلاث متغيرات char row, char col, const char *txt ' طبعا هي كلها اسماء يمكنك تغيرها يعني كل متغير انت تعطيه اسم
ملاحظه// كلمه ذات لون اسود غامق شويه في مايكروسي فهي كلمات ثابته ومحجوزه في كومبايلر او لغه C مثلا اذا كتبت متغير اسمه data او Return و switch , ....
سترى لونه يختلف عن كلمات اخرى يعني اسود غامق هذه كلمات ثابته ولاتستخدم كمتغيرات اما البقيه انطيها اي اسم بس حاول تعطيها اسم مقارب لحدث مثلا في حالتنا فرضت row تمثل الاعمده و col تمثل صفوف
اذن داله void Lcd_Out20 تحتاج رقم عمود ورقم الصف و رساله ومتمثله بــ txt
طبعا طالما رساله هي مصفوفه اذن لازم txt متغير من نوع بوينتر ولازم من نوع ثابت ليش لانه رساله الي خزنتها هي من نوع ثابت يعني لازم تتقيد بحاله الرساله هي مخزونه في روم ام في رام يعني هنا لايمكن ان اضع رساله من نوع char مخزونه في رام واضعها في txt لانه راح يخبرك كومبايلر عندك خطأ بأنه لايستطيع التحويل من روم الى رام
اما الاوامر موجوده في switch مهمتها وضع مؤشر في مكان الصحيح
شوف أخي الامر Lcd0_Command هو الامر ينفذ جميع الاوامر الشاشه ولكن يحتاج الى رقم معين على سبيل مثال
(lcd_cmd(_lcd_clear تذكر هذا الامر يمسح الشاشه بس انت تكدر تكتبها بالارقام ( lcd_cmd(1
قرأ بتمعن مشاركه 11 ستلاحظ الارقام
يعني خليني اختصر لك كلام تكدر تكول مثل اتصال السريع
طبعا lcd_cmd للمكتبه القديمه اما الجديده Lcd0_Command كلاهما يأخذون نفس الارقام وهذه الارقام ثوابت يعني 1 للمسح يعني لايمكن تغيره
يعني تكدر تتعامل مع الشاشه بلغه كتابه مثلا تنطيه رقم عمود ورقم صف عندها ماذا يحدث مفروض يتحرك مؤشر الى مكان الذي انت اعطيته له او تقول له مباشره اذهب الى هذا مكان عن طريق command
تلاحظ case0 و1 و2و3 هذا حسب رقم عمود الي انت تضعه
طبعا احنا صعب علينا تعامل مع الارقام ولكن هذه داله تكدر تحفظها لانها مهمتها وضع مؤشر في مكان الصحيح وهي مفيده للشاشات اكثر من عمودين