על ידי אורן ~:-) » ד' אוגוסט 12, 2009 8:37 pm
היי shifu,
בעקרון לתכנות מיקרובקרים יש שני גישות:
תכנות בשפת מכונה (Assembly)
ותכנות בשפה גבוהה.
-------
שפת ה-Assembly היא השפה שהכי קרובה לצורה שבא המעבד או המיקרובקר שלך עובד.
השפה בעצם מכילה את כל הפקודות שהמעבד יכול לבצע.
לכל משפחה של מיקרובקרים\מעבדים יש שפת אסמבלי משלה,
עם פקודות שונות שקשורות למבנה המעבד ואופן פעולתו.
שפת האסמבלי היא שפה נמוכה (קרובה למעבד) וככזאת היא פחות אינטואטיבית או מובנת במבט ראשון.
היא מאפשרת לך לנצל את מעבד ואת הזיכרון שיש לך באופן מירבי אבל היא גם קשה יותר
לכתיבה וניפוי שגיאות. (אתה בעצם אומר למעבד מה לעשות, שלב אחרי שלב).
אם המטרה שלך היא להכיר מיקרובקר ספציפי לעומק "ולהרגיש" איך המעבד עובד,
אז אתה צריך ללמוד את שפת האסמבלי של המיקרובקר או המעבד שתבחר.
(גישה זו בד"כ נפוצה בשנים הראשונות של לימודי אלקטרוניקה).
-------
בנוגע לגישה השנייה - שפה גבוהה.
הרעיון בשפות תכנות גבוהות הוא להתרחק מצורת העבודה של המעבד ולאפשר לך לכתוב
תוכניות בדרך שיותר דומה לצורת החשיבה והשפה היום יומית.
במקום לומר למעבד מה לעשות, אתה כותב תוכנית שמבצעת פעולה מסויימת ואז הקומפיילר
יתרגם את מה שכתבת לפעולות שהמעבד יכול להבין (בעקרון שפת אסמבלי).
שימוש בשפה עילית אומר שהקוד שלך יהיה קצר יותר (באופן משמעותי) ופשוט יותר לכתיבה, ניפוי שגיאות והבנה.
כמו כן קוד שנכתב בשפה עילית יכול לרוץ (עם התאמות מסויימות) על סוגים שונים של מעבדים, ואינו תלוי לחלוטין במעבד עליו אתה עובד.
בתכנות של מיקרובקרים ומעבדים משתמשים ברוב המקרים בשפת C או C++.
אם המטרה שלך היא להתמקד יותר ביישום (הדבר שהפרוייקט צריך לעשות) ופחות לעבוד עם המעבד עצמו,
או אם אתה מחפש בסיס להתחלה בתכנות, אז אני ממליץ לך בחום להתחיל ללמוד שפת C.
-------
בהצלחה,
אורן.
...I think I am, therefore I am. I think