القرية الإلكترونية - الكترونيات - كمبيوتر - هاردوير - خدمات المواقع - كهرباء - فضائيات - جوال - اتصالات - تكييف وتبريد - اجهزة الانتاج الزراعي - كهرباء السيارات

كود تفعيل العضوية - الابلاغ عن روابط لاتعمل - صيانة التلفزيون - الحاسبة - الأعضاء المتميزين - البرامج و المخططات - بث مباشر للقنوات الفضائية - إذاعة - تردد القنوات - بحث


لوحة مفاتيح عربية

العودة   منتدى القرية الإلكترونية > القسم الالكتروني > منتدى الإلكترونيات
التسجيل       اجعل كافة المشاركات مقروءة

منتدى الإلكترونيات قسم الالكترونكس لمناقشة الافكار والمعلومات المتعلقة بالهندسة الالكترونية للمبتدئين والهواة والفنيين - Electronics

رد
 
أدوات الموضوع
قديم 15-06-2015, 11:15 PM   #1
F.Abdelaziz
استاذ و مشرف قسم الالكترونيات
 
الصورة الرمزية F.Abdelaziz

المشاركات: 6,894
أحصائية الترشيح

عدد النقاط : 6483


النشاط

معدل تقييم المستوى: 332
افتراضي ترجمة وإعداد كتاب البرمجة بلغة السى المدمجة وتطبيقات لغة السى والميكروكونترولر PIC مع

ترجمة وإعداد كتاب البرمجة بلغة السى المدمجة وتطبيقات لغة السى والميكروكونترولر PIC مع المترجم CCS C  :
Embedded C Programming Techniques and Applications of C and PIC® MCUS




مقدمة Introduction :
ماهو الميكروكونترولر ؟ وفيما يستخدم ؟
الميكروكونترولر هو كمبيوتر صغير مدمج على شريحة مغلفة على شكل دائرة متكاملة لها أطراف للتوصيل بالأجهزة الخارجية . عندما يتم توصيله بالقدرة فإنه يبدأ فى تشغيل برنامج من ذاكرة البرنامج الداخلية ، والتى تسمى أيضا ذاكرة القراءة فقط ROM ، أو ذاكرة الفلاش Flash .



يوجد الميكروكونترولر فى الأجهزة المنزلية ، ولعب الأطفال ، والسيارات ، وملحقات الكمبيوتر مثل لوحة المفاتيح أو الماوس ، كما أنه يأخذ طريقه كإلكترونيات تدعم تقريبا كل شىء إلكترونى من شاحن البطارية إلى أنظمة الرادار .      







لماذا الميكروكونترولر PIC ؟
أصبح الميكروكونترولر PIC الخيار الأكثر شعبية (انتشارا) للتصاميم الجديدة المعتمدة على السرعة العالية ، حتى 70 مليون تعليمة كل ثانية ، حتى كتابة هذه السطور ، فهو منخفض التكلفة ، البعض منه يصل إلى ما دون الدولار ، كما أنه يتضمن عدد كبير من الواجهات مثل اليو إس بى  USB و الإثرنت Ethernet ، والإشارات التناظرية .  




لماذا لغة السى ؟

لغة السى هى اللغة الأكثر استخدما لبرمجة الميكروكونترولر ، السبب أنها الأقرب إلى لغة الإنسان ، فلغة السى هى فئة من لغات برمجة الكمبيوتر والتى تسمى لغات البرمجة مرتفعة المستوى. هذه اللغات تستخدم أداة تسمى مترجم (كومبيلر) compiler لتحويل ملفات نصوص لغة السى إلى ملف قابل للقراءة بمعرفة الآلة ، وهى هنا معالج الميكروكونترولر . والمترجم CCS C يستخدم لغة هى الأقرب إلى لغة الإنسان ، لذلك فهو واسع الانتشار ، ومدعوم من قبل شركة ميكروشيب المصنعة للميكروكونترولر PIC ، ومن قبل شركة لاب سنتر المصدرة لبرنامج بروتيس Proteus .
القسم الأول من هذا الكتاب يؤكد على لغة السى . الخبرة السابقة بلغة برمجة سوف يساعد ولكنها ليست مطلبا ، فسوف يتم البدء باستخدام التعاريف الأولية لعناصر اللغة ، كما يتم تغطية جميع مجالات اللغة التى تطبق على الميكروكونترولر بالتفصيل .
القسم الثانى من هذا الكتاب ، بدءا من الفصل الخامس عشر ، يغطى الميكروكونترولر PIC ، وملحقاته ، وكيفية استخدام تلك الملحقات مع لغة السى بالتفصيل . المعرفة المسبقة للإلكترونيات الأساسية سوف تساعد ، لكنها ليست مطلبا لفهم هذا الكتاب .

الفصل الأول نظرة عامة على لغة السى وبناء (هيكل) البرنامج C Overview and Program Structure:



التعديل الأخير تم بواسطة : F.Abdelaziz بتاريخ 16-06-2015 الساعة 09:16 AM.
F.Abdelaziz غير متواجد حالياً   رد مع اقتباس مشاركة محذوفة
احصائية الشكر والاعجاب - 2 شكراً, 0 عدم اعجاب, 2 اعجاب
شكراً حسن هادي محمود, khamis54 ( شكر العضو على هذه المشاركة )
اعجاب حسن هادي محمود, khamis54 ( أعجبته المشاركة )
اعلانات
قديم 16-06-2015, 09:34 AM   #2
F.Abdelaziz
استاذ و مشرف قسم الالكترونيات
 
الصورة الرمزية F.Abdelaziz

المشاركات: 6,894
أحصائية الترشيح

عدد النقاط : 6483


النشاط

معدل تقييم المستوى: 332
افتراضي

فى انتظار الاستفسارات حول ما جاء فى المقدمة

مع تمنياتى بدوام التوفيق
F.Abdelaziz غير متواجد حالياً   رد مع اقتباس مشاركة محذوفة
احصائية الشكر والاعجاب - 4 شكراً, 0 عدم اعجاب, 4 اعجاب
شكراً عبدالله حجازى, محمدعلي, khamis54, abdoelrefaiy ( شكر العضو على هذه المشاركة )
اعجاب عبدالله حجازى, محمدعلي, khamis54, abdoelrefaiy ( أعجبته المشاركة )
اعلانات اضافية ( قم بتسجيل الدخول لاخفائها )
  
قديم 16-06-2015, 11:16 AM   #3
mourad3d
عضو ماسى
 
الصورة الرمزية mourad3d

الدولة: القاهرة - مصر
المشاركات: 2,776
أحصائية الترشيح

عدد النقاط : 2390


النشاط

معدل تقييم المستوى: 148
افتراضي

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


mourad3d غير متواجد حالياً   رد مع اقتباس مشاركة محذوفة
قديم 16-06-2015, 06:12 PM   #4
عبدالله حجازى
عضو ذهبي
 
الصورة الرمزية عبدالله حجازى

الدولة: مصر .. محافظة دمياط
المشاركات: 1,688
أحصائية الترشيح

عدد النقاط : 1283


النشاط

معدل تقييم المستوى: 110
افتراضي

بارك الله فيك وجزاك الخير

متابعين معك استاذى الغالى
وكل عام وانت بخير رمضان كريم
عبدالله حجازى غير متواجد حالياً   رد مع اقتباس مشاركة محذوفة
قديم 16-06-2015, 09:57 PM   #5
Sallam
مهندس متميز
 
الصورة الرمزية Sallam

الدولة: Syria
المشاركات: 518
أحصائية الترشيح

عدد النقاط : 281


النشاط

معدل تقييم المستوى: 0
افتراضي

اقتباس:
المشاركة الأصلية كتبت بواسطة F.Abdelaziz مشاهدة المشاركة
ترجمة وإعداد كتاب البرمجة بلغة السى المدمجة وتطبيقات لغة السى والميكروكونترولر PIC مع المترجم CCS C  :
Embedded C Programming Techniques and Applications of C and PIC® MCUS




مقدمة Introduction :
ماهو الميكروكونترولر ؟ وفيما يستخدم ؟
الميكروكونترولر هو كمبيوتر صغير مدمج على شريحة مغلفة على شكل دائرة متكاملة لها أطراف للتوصيل بالأجهزة الخارجية . عندما يتم توصيله بالقدرة فإنه يبدأ فى تشغيل برنامج من ذاكرة البرنامج الداخلية ، والتى تسمى أيضا ذاكرة القراءة فقط ROM ، أو ذاكرة الفلاش Flash .



يوجد الميكروكونترولر فى الأجهزة المنزلية ، ولعب الأطفال ، والسيارات ، وملحقات الكمبيوتر مثل لوحة المفاتيح أو الماوس ، كما أنه يأخذ طريقه كإلكترونيات تدعم تقريبا كل شىء إلكترونى من شاحن البطارية إلى أنظمة الرادار .      







لماذا الميكروكونترولر PIC ؟
أصبح الميكروكونترولر PIC الخيار الأكثر شعبية (انتشارا) للتصاميم الجديدة المعتمدة على السرعة العالية ، حتى 70 مليون تعليمة كل ثانية ، حتى كتابة هذه السطور ، فهو منخفض التكلفة ، البعض منه يصل إلى ما دون الدولار ، كما أنه يتضمن عدد كبير من الواجهات مثل اليو إس بى  USB و الإثرنت Ethernet ، والإشارات التناظرية .  




لماذا لغة السى ؟

لغة السى هى اللغة الأكثر استخدما لبرمجة الميكروكونترولر ، السبب أنها الأقرب إلى لغة الإنسان ، فلغة السى هى فئة من لغات برمجة الكمبيوتر والتى تسمى لغات البرمجة مرتفعة المستوى. هذه اللغات تستخدم أداة تسمى مترجم (كومبيلر) compiler لتحويل ملفات نصوص لغة السى إلى ملف قابل للقراءة بمعرفة الآلة ، وهى هنا معالج الميكروكونترولر . والمترجم CCS C يستخدم لغة هى الأقرب إلى لغة الإنسان ، لذلك فهو واسع الانتشار ، ومدعوم من قبل شركة ميكروشيب المصنعة للميكروكونترولر PIC ، ومن قبل شركة لاب سنتر المصدرة لبرنامج بروتيس Proteus .
القسم الأول من هذا الكتاب يؤكد على لغة السى . الخبرة السابقة بلغة برمجة سوف يساعد ولكنها ليست مطلبا ، فسوف يتم البدء باستخدام التعاريف الأولية لعناصر اللغة ، كما يتم تغطية جميع مجالات اللغة التى تطبق على الميكروكونترولر بالتفصيل .
القسم الثانى من هذا الكتاب ، بدءا من الفصل الخامس عشر ، يغطى الميكروكونترولر PIC ، وملحقاته ، وكيفية استخدام تلك الملحقات مع لغة السى بالتفصيل . المعرفة المسبقة للإلكترونيات الأساسية سوف تساعد ، لكنها ليست مطلبا لفهم هذا الكتاب .

الفصل الأول نظرة عامة على لغة السى وبناء (هيكل) البرنامج C Overview and Program Structure:


أشكرك من كل القلب دائما متجدد بمواضيعك ومشاركاتك وبتقديمك الأفضل.

المقدمة جيدة ومشجعة وبانتظار الدخول بالموضوع

ولكن لي رجاء هو متابعة الموضوع للأخير

مع كل الشكر والتقدير
Sallam غير متواجد حالياً   رد مع اقتباس مشاركة محذوفة
احصائية الشكر والاعجاب - 0 شكراً, 0 عدم اعجاب, 1 اعجاب
اعجاب abdoelrefaiy ( أعجبته المشاركة )
قديم 16-06-2015, 10:59 PM   #6
F.Abdelaziz
استاذ و مشرف قسم الالكترونيات
 
الصورة الرمزية F.Abdelaziz

المشاركات: 6,894
أحصائية الترشيح

عدد النقاط : 6483


النشاط

معدل تقييم المستوى: 332
افتراضي

شكرا لكل الأخوة المشاركين

مع تمنياتى بدوام التوفيق
F.Abdelaziz غير متواجد حالياً   رد مع اقتباس مشاركة محذوفة
قديم 16-06-2015, 11:03 PM   #7
F.Abdelaziz
استاذ و مشرف قسم الالكترونيات
 
الصورة الرمزية F.Abdelaziz

المشاركات: 6,894
أحصائية الترشيح

عدد النقاط : 6483


النشاط

معدل تقييم المستوى: 332
افتراضي الفصل الأول نظرة عامة على لغة السى وبناء (هيكل) البرنامج C Overview and Program Struc

الفصل الأول نظرة عامة على لغة السى وبناء (هيكل) البرنامج C Overview and Program Structure:

"كود المصدر" للغة السى C Source Code :
فيما يلى ما يبدو عليه "كود المصدر" للغة السى :

كود:
/*	Chapter one sample C program for
	The CCS C compiler */ 

#include <My_PIC.H>

void main (void) {
	int i ;

	for( i=1; i<=10; i=i+1 ) {
		output_high(PIN_C6);	//Turn green LED on .
		delay_ms(500);
		output_low(PIN_C6);	//Turn green LED off .
		delay_ms(500);
	}
}


هذا البرنامج قد يبدو مبهما جدا بالنسبة لك الآن . عند الانتهاء من قراءة هذا الكتاب والقيام بعمل التجارب ، فإن هذا البرنامج بل والبرامج الأكثر تعقيدا سوف لن تبدو مبهمة على الإطلاق . كلما قرأت الفصول القليلة القادمة ، يمكنك الرجوع إلى هذا البرنامج للتعرف على كيفية ربط الموضوعات لهذا البرنامج . الآن ، دعونا نرصد بعض الملاحظات حول المظهر العام للبرنامج .

التعليقات Comments :
تساعد التعليقات أى شخص (بما فيهم المبرمج نفسه) يقراء الكود الخاص بك على أن يفهم ما يقوم به البرنامج . هناك نوعان من أساليب التعليق :
الإسلوب الأول : “/* put your comments here */” ، يمكن أن تمتد التعليقات لعدة أسطر ، لكنها لا تكون متداخلة.
الإسلوب الثانى : “//put your comments here…… end of line” ، يمكن أن يمتد التعليق على سطر واحد فقط .
يتجاهل المترجم جميع التعليقات . يمكن أن يتم استخدم كل من الإسلوبين فى نفس البرنامج .

بناء (هيكل) البرنامج Program Structure :
تتكون برامج لغة السى من :
1- توجيهات ما قبل معالج لغة السى C Preprocessor Directives
الميزة الجديرة بالاهتمام فى لغة السى هى أن لديها ما يسمى توجيهات "قبل المعالج" preprocessor ويمكن تسميتها اختصارا توجيهات المعالج ، وهى جزء لا يتجزأ من برنامج الترجمة . يمكنك التفكير فى توجيهات المعالج باعتبارها أداة برمجية ، والتى تمر خلال الكود أولا (قبل الترجمة) وتقوم بعمل بعض التعديلات على ما يتم ترجمته فى الواقع .

يبدأ توجيه المعالج بالرمز "هاش" “#” ويحتل السطر بكامله . وسوف يتم تغطيتها لاحقا بالتفصيل فى الفصل الثالث .
فى المثال أعلاه ، يبدأ البرنامج بتوجيه التضمين (#include) ، وهو أمر (توجيه) للمعالج بالقيام بوضع (تضمين) جميع السطور التى يحتوى عليها الملف (e3.h) لكى تظهر فى هذا المكان ضمن الكود عند بدء الترجمة الفعلية .
على سبيل المثال ، إذا قمت بإنشاء ملف يسمة delay.inc ووضعت فى هذا الملف السطر الوحيد التالى :

كود:
delay_ms(500);
عندئذ يمكنك استبدال سطرى التأخير delay_ms(500); فى البرنامج أعلاه بالتوجيه #include <delay.inc> ، وسوف يقوم البرنامج بالترجمة الصحيحة تماما . ففى الخطوة الأولى للترجمة ، يقوم معالج المترجم بقراءة البرنامج وعندما يصل إلى كل سطر مكتوب فيه التوجيه #include<delay.inc> يقوم بقراءة الملف المذكور وهو delay.inc واستبدال #include بالعبارة delay_ms(500); ، وهى السطر الوحيد داخل الملف ، حيث مكان التوجيه #include تماما .
يمكن أن يكون المعالج ميزة قوية فى لغة السى والتى تزيد من قابلية (سهولة) القراءة للبرنامج ، وتعظيم تقنية إعادة استخدام الكود ، وتساعد بشكل كبير على المحافظة على البرنامج .
إذا تفحصت نموذج البرنامج المبين أعلاه ، سوف ترى أن السطر الأول هو توجيه للمعالج لتضمين الملف My_PIC.H. من الشائع جدا (بل قد يجب) أن يكون أول سطر أوامر (وليس تعليقات) فى البرنامج هو توجيه بتضمين ملف به تعريفات محددة للهاردوير الخاص بالميكروكونترولر المستخدم . كثيرا ما يستخدم الامتداد (.h) (اختصار لكلمة header) لهذا النوع من الملفات . فى حالتنا ، جميع الإعلانات (التعريفات) اللازمة للميكروكونترولر المستخدم سوف تكون موجودة فى ملف الرأس المسمى My_PIC.H .

2- الدوال Functions:
الدالة هى مجموعة من التعليمات البرمجية القابلة للاستدعاء ، والتى تعرف فى بعض اللغات الأخرى بالاجراء أو بالبرنامج الفرعى . تتكون الدوال من بيانات محلية ، بمعنى أنه يمكن الوصول إليها فقط للدالة وللعبارات الموجودة ضمن هذه الدالة .
فى البرنامج أعلاه ، نجد أن السطر التالى يحتوى على تعريف لدالة تسمى الدالة الرئيسية main . جميع البرامج يجب أن يكون لديها دالة واحدة فقط تسمى الدالة الرئيسية main() . هذه الدالة هى المكان الذى يبدأ من عنده تنفيذ البرنامج . عند الإشارة إلى اسم دالة ، فإنه يكون متبوعا بالقوسين () ، حتى يكون من الواضح أن هذا اسم لدالة .
كلمة void (بمعنى فارغ أو خاوى) ، الموجودة قبل اسم الدالة تشير إلى أن هذه الدالة لا تعيد (تعطى) شىء نتيجة لتنفيذها ، وكلمة void الموجودة بين القوسين (void) تشير إلى أن هذه الدالة لا تأخذ شىء من القائم بالاستدعاء . القوسين {…} هى رموز لاحتواء مجموعة بينها . جميع الدوال تبدأ وتنتهى بهذه الرموز .
سوف يتم تناول الدوال بالتفصيل فى الفصل السابع ، ومع ذلك ، لوضع أساس لما تكون عليه الدوال ، إليك بعض الأمثلة على استخدام الدوال :

كود:
x=sin(y); //sin is a function with one argument and a return value
الدالة المسماة sin هى دالة بدليل أو وسيط أو بارامتر واحد ، وتعود بقيمة نتيجة لتنفيذها .

كود:
x=sin(y*3.1415/180); //the argument may be any expression
الوسيط قد يكون تعبير .

كود:
x=180*sin(y)/3.1415;// the return value may be used in an expression.
يمكن استخدام قيمة العودة فى تعبير.

3- الإعلانات Declarations :
السطر “int i" هى إعلان (تعريف) بيانات لمتغير يسمى بالمعرف “i" ، و “int” تشير إلى أن هذا المتغير هو عدد صحيح integer . فى هذه الحالة فإن المتغير “i" لا يجوز استخدامه إلا داخل الدالة الرئيسية main . إذا كان هذا السطر فوق (قبل) بداية الدالة الرئيسية (خارج الدالة الرئيسية) ، عندئذ ، يمكن الوصول إلى المتغير “i" بواسطة الدوال الأخرى . النطاق الذى يمكن الوصول خلاله إلى المتغير يسمى "نطاق المتغير" variable scope . سوف يتم تغطية النطاق بمزيد من التفصيل فى الفصل الرابع .

4- العبارات Statements والتعبيرات Expressions :
سطر “for” هو عبارة statement . يتم تنفيذ العبارات فى وقت الشغيل . هذه العبارة بشكل خاص تتضمن ثلاث تعبيرات expressions هى i=1; i<=10; i=i+1 يفصل بين التعبير والآخر الفاصلة المنقوطة “;” . سوف يتم تغطية التعبيلاات فى الفصل الخامس ، وتغطية العبارات فى الفصل السادس .

لمحة سريعة على عبارة “for” :



يتم تنفيذ التعبير الأول “i=1” لمرة واحدة . بعد ذلك يتم تكرار ما يلى :
• اختبار التعبير الثانى “i<=10” ، والخروج من الحلقة فى حالة ما إذا لم يكون صواب false .
• تنفيذ العبارة التى تلى القوس “)” .
• يتم تنفيذ التعبير الثالث “i=i+1” .
فى هذا المثال يتم تنفيذ الأربعة أسطر لعشر مرات ، حيث يذهب المتغير “i" من القيم 1 إلى القيمة 10 ، وبعد ذلك ، عندما تكون قيمته 11 ، تتوقف الحلقة لأن التعبير “11<=10” يكون غير صواب .
التعبيرات expressions هى مزيج من الثوابت ، والمتغيرات ، والعوامل ، واستدعاء الدوال . التعبيرات دائما يكون لها قيمة ناتج . من أمثلة العوامل “+ , - , * , / “ والعمل الخاص جدا “=” .
فى حالتنا ، حيث أن لدينا أربعة عبارات للتنفيذ فى عبارة “for” فإننا نحتاج لضمها (تجميعها) معا بالأقواس المعرجة {…} . هذه العبارة تسمى عبارة مركبة . وقد لا تحتوى الأقواس على أى عبارات أو قد تحتوى على المزيد من العبارات . بدون هذه الأقواس ، سوف يتم استدعاء الدالة output_high() فقط لعشر مرات . بعد ذلك يتم تنفيذ السطور الثلاثة الأخرى واحد تلو الآخر .
كل من السطور الأربعة فى الحلقة هو استدعاء لدالة . هذه الدوال لم يتم تعريفها عن طريق المبرمج لكنها دوال من صلب المترجم . التعبير أو التعبيرات الموجودة داخل الأقواس () للدالة المستدعاة هى بيانات يتم تمريرها إلى الدالة . هذه البيانات تسمى وسائط arguments فى الاستدعاء وتسمى بارامترات parameters فى الدالة .
فى لغة السى ، الحالة الخاصة للعبارة الصحيحة (شرط صحة العبارة) هى أن أى تعبير يكون متبوعا بالفاصلة المنقوطة “;” . لاحظ أنه ليس لمجرد أن تكون العبارة صحيحة أن يعنى ذلك أنها منطقية . على سبيل المثال ، فيما يلى عبارة لغة سى صحيحة :

كود:
1+2;
مع ذلك ، فإنها لا تفعل أى شىء . بعض برامج الترجمة قد تقوم بعملية الجمع والتى قد تستغرق بعض الوقت ولكن لا يفعل أى شىء أكثر من ذلك . برامج البرمجة الجيدة سوف تعطى تحذير على هذا السطر لأن المبرمج ربما قام بعمل خطأ مطبعى .
كتابة الفاصلة المنقوطة “;” مع عدم وجود تعبير قبلها ، هو حالة خاصة لاستدعاء عبارة فارغة تسمى null statement ، وهى لا تفعل شىء .

فى لغة السى ليس هناك عبارة تعيين (تخصيص) كما هو الحال فى بعض اللغات الأخرى ، بدلا من ذلك هناك "عامل التعيين" وهو علامة التساوى “=” ، على سبيل المثال :

كود:
x=3;
هذا السطر عبارة عن التعبير “x=3” والذى يتكون من متغير ، وعامل ، وثابت . هذا التعبير expression مع الفاصلة المنقوطة “;” يصنع عبارة statement . دائما يتم تعيين (تخصيص) القيمة الموجودة على الجانب الأيمن إلى المتغير الموجود على الجانب الأيسر .

5- الزمن (الوقت) Time :
الحروف “ms” فى كلمة delay_ms تعنى ملى ثانية . وحدات الزمن التى يكثر استخدامها فى البرامج هى :
• النانو ثانية 0.000,000,001 seconds .
• الميكروثانية 0.000,001 seconds .
• الملى ثانية 0.001 seconds .
على سبيل المثال ، هناك مليون ميكروثانية فى الثانية الواحدة .

6- دقة الكتابة Typing Accuracy :
دقة الكتابة تكون مهمة جدا عند إنشاء كود لغة السى . علامات الترقيم ، والتى إما أن تكتب بشكل خاطىء أو يتم حذفها ، يمكن أن تتسبب فى الكثير من الصداع بسبب عدم ترجمة البرنامج . المترجم يرى ما تكتبه بالضبط .
على سبيل المثال ، إذا نسيت قوس البداية “{“ فى سطرة عبارة for ، عندئذ فإن المترجم سوف يطلق رسالة بوجود خطأ عندما يصل إلى قوس النهاية “}” بعد أربع أسطر أسفل من مكان الخطأ الفعلى .
الفاصلة المنقوطة “;” التى تلى العديد من العبارات والإعلانات تكون مهمة لمساعدة المترجم لمعرفة متى ينتهى الإعلان أو العبارة . فهى لا تستخدم أبدا عند نهاية توجيه المعالج الذى يبدأ بالرمز “#” . فقد أو زيادة الفاصلة المنقوطة “;” أو القوس “{“ يمكن أن ينشىء رسائل خطأ مربكة . محرر لغة السى الجيد يسلط الضوء على مجموعة الأقواس المتوائمة
“{ }” و “()” علاوة على على العناصر النحوية لمنع الأخطاء أثناء الكتابة ، وذلك بتمييزها بألوان مختلفة .

7- تنسيق النص Text Formatting :
تنسيق المسافات الفارغة (البيضاء) مثل المسافات spaces و التبويبات tabs و مكان الرجوع من أول السطر ، وغيرها يتم تجاهله من قبل المترجم .
التنسيق يجعل الكود قابل للقراءة . المسافة البيضاء ،الناتجة من تخطيط البرنامج بحيث يبدو أكثر تنظيما ، تعتبر شىء جيد . وهى تأتى من استخدام المسافات والتبويبات والأسطر الفارغة . تستخدم التبويبات من أجل عمل تدرجات بدلا من استخدام عدد من المسافات . عدد المسافات لكل تبويب عادة يكون قابل للضبط . ثلاثة مسافات لكل تبويب تعمل بشكل جيد . لاحظ أن الأسطر الموجودة داخل الدالة إعلاه تكون متدرجة والخطوط داخل الحلقة تكون أكثر تدرجا . التدرج ، والمسافات البيضاء الأخرى اختيارية ، ولكن ينصح بها بشدة .

8- ملاحظات التوافق Compatibility Notes :
التعليق “//” هو بناء للغة C++ ، ومعتمد فقط من قبل بعض برامج الترجمة وليس كلها .
معظم برامج الترجمة تكون حساسة لحالة الحروف . على سبيل المثال ، Output_High() لن يتم التعرف عليها ولكن output_high() سوف يتم التعرف عليها . فى الوضع الافتراضى المترجم CCS C يكون غير حساس لحالة الحروف . لجعله حساسا ، يجب عليك استخدام توجيه المعالج “#case” .
الدوال الموجودة ضمن المترجم مثل output_high() و delay_ms() ليست من لفة السى القياسية ، حيث ينفرد بها المترجم CCS C .
F.Abdelaziz غير متواجد حالياً   رد مع اقتباس مشاركة محذوفة
قديم 17-06-2015, 01:03 AM   #8
F.Abdelaziz
استاذ و مشرف قسم الالكترونيات
 
الصورة الرمزية F.Abdelaziz

المشاركات: 6,894
أحصائية الترشيح

عدد النقاط : 6483


النشاط

معدل تقييم المستوى: 332
افتراضي

أسئلة لمراجعة الفصل الأول مطلوب الإجابة عليها :

السؤال الأول :
كمحاولة لتخفيص الفراغ الأبيض ، إى من البرامج التالية يكون صحيحا ؟



السؤال الثانى :
أى من العبارات التالية يكون صحيحا ؟



السؤال الثالث :
كم عدد مرات التكرار التى سوف تسببها هذه العبارة ؟




السؤال الرابع :
كم عدد مرات التكرار التى سوف تسببها هذه العبارة ؟




السؤال الخامس :
ما هى عناصر لغة السى يمكن أن توجد فى سطر الكود التالى ؟



السؤال السادس :
أى من التعليقات التالية يكون صحيحا بالنسبة للغة السى ؟



السؤال السابع :
ما الذى ينبغى أن يفعله المترجم مع السطر التالى ؟



السؤال الثامن :
التعبير المفرد قد يكون أيضا :



السؤال التاسع :
الملف q1.inc لديه السطور التالية :



مع الكود التالى ، كم عدد مرات وميض الليد ؟



السؤال العاشر :
تم إنشاء الملف qq1.inc بمجرد أربع حروف فقط هى void . عندما تتم محاولة ترجمة التالى ، كم عدد الأخطاء التى يتم توليدها ؟


F.Abdelaziz غير متواجد حالياً   رد مع اقتباس مشاركة محذوفة
رد

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

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

تعليمات المشاركة
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is متاحة
كود [IMG] متاحة
كود HTML معطلة

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

الساعة الآن: 06:05 PM


Powered by vBulletin® Version 3.8.6, Copyright ©2000 - 2025
Feedback Buttons provided by Advanced Post Thanks / Like (Lite) - vBulletin Mods & Addons Copyright © 2025 DragonByte Technologies Ltd.
القرية الإلكترونية