מהי תוכנית C Embedded & המבנה שלה למתחילים

נסה את הכלי שלנו לביטול בעיות





מוקדם יותר, יישומים מוטבעים רבים פותחו באמצעות תכנות ברמת הרכבה. עם זאת, הם לא סיפקו ניידות. חיסרון זה התגבר על ידי הופעתן של שפות שונות ברמה גבוהה כמו C, Pascal ו- COBOL. עם זאת, הייתה זו שפת C שקיבלה הסכמה נרחבת למערכות משובצות והיא ממשיכה לעשות זאת. קוד C שנכתב אמין יותר, ניתן להרחבה ונייד ולמעשה הרבה יותר קל להבנה. תכנות C מוטבע הוא נשמתו של המעבד המתפקד בתוך כל אחד ואחד מערכת משובצת מחשב אנו נתקלים בחיי היומיום שלנו, כגון טלפונים ניידים, מכונות כביסה ומצלמות דיגיטליות. כל מעבד משויך לתוכנה משובצת. הדבר הראשון והעיקרי הוא התוכנה המוטמעת שמחליטה לתפקד של המערכת המוטמעת. לרוב משתמשים בשפת C משובצת לתכנת את המיקרו-בקר .

מהי שפת C?

שפת C פותחה על ידי דניס ריצ'י בשנת 1969. זהו אוסף של פונקציה אחת או יותר, וכל פונקציה היא אוסף של הצהרות המבצעות משימה ספציפית.
שפת C היא שפה ברמה בינונית שכן היא תומכת ביישומים ברמה גבוהה ויישומים ברמה נמוכה. לפני שנכנס לפרטים של תכנות C מוטבעות, עלינו לדעת על ארגון זיכרון RAM.




המאפיינים העיקריים של שפת C כוללים את הדברים הבאים.

  • שפת C היא תוכנה שתוכננה עם מילות מפתח שונות, סוגי נתונים, משתנים, קבועים וכו '.
  • Embedded C הוא מונח כללי הניתן לשפת תכנות הכתובה ב- C, המשויכת לארכיטקטורת חומרה מסוימת.
  • Embedded C הוא סיומת לשפת C עם כמה קבצי כותרת נוספים. קבצי כותרת אלה עשויים להשתנות מבקר לבקר.
  • ה מיקרו-בקר 8051 נעשה שימוש ב- # כלול.

מהי תכנות C מוטבע

בכל פרויקטים מבוססי מערכת משובצת, תכנות Embedded C ממלא תפקיד מפתח בכדי לגרום למיקרו-בקר להפעיל ולבצע את הפעולות המועדפות. נכון לעכשיו, אנו משתמשים בדרך כלל במספר מכשירים אלקטרוניים כמו טלפונים ניידים, מכונות כביסה, מערכות אבטחה, מקררים, מצלמות דיגיטליות וכו '. השליטה במכשירים משובצים אלה יכולה להיעשות בעזרת תוכנית C משובצת. לדוגמא במצלמה דיגיטלית, אם נלחץ על כפתור מצלמה כדי לצלם תמונה אז המיקרו-בקר יבצע את הפונקציה הנדרשת כדי ללחוץ על התמונה וכן לאחסן אותה.



תכנות C מוטבע

תכנות C מוטבע

תכנות C מוטבע בנוי עם קבוצה של פונקציות כאשר כל פונקציה היא קבוצה של הצהרות המשמשות לביצוע משימות מסוימות. שתי השפות C ו- C המשובצות זהות ומיושמות באמצעות כמה אלמנטים בסיסיים כמו משתנה, קבוצת תווים, מילות מפתח, סוגי נתונים, הצהרת משתנים, ביטויים, הצהרות. כל האלמנטים הללו ממלאים תפקיד מפתח בעת כתיבת תוכנית C משובצת.

על מעצבי המערכת המוטמעת לדעת על ארכיטקטורת החומרה בכדי לכתוב תוכניות. תוכניות אלה ממלאות תפקיד בולט במעקב ובקרה על התקנים חיצוניים. הם גם מפעילים ישירות את הארכיטקטורה הפנימית של המיקרו-בקר ומשתמשים בהם, כגון טיפול בהפרעות, טיימרים, תקשורת טורית ותכונות זמינות אחרות.


תכנות מערכת משובצת

כפי שדנו קודם, ניתן לבצע תכנון של מערכת משובצת באמצעות חומרה ותוכנה. לדוגמא, במערכת משובצת פשוטה, המעבד הוא המודול הראשי שעובד כמו לב המערכת. כאן מעבד אינו אלא מעבד, DSP, מיקרו-בקר, CPLD ו- FPGA. כל המעבדים הללו ניתנים לתכנות כך שהוא מגדיר את פעולת המכשיר.

תוכנית מערכת משובצת מאפשרת לחומרה לבדוק את הכניסות ופלט הבקרה בהתאם. בהליך זה, התוכנית המשובצת עשויה להיות חייבת לשלוט בארכיטקטורה הפנימית של המעבד ישירות כמו טיימרים, טיפול בהפסקה, יציאות קלט / פלט, ממשק תקשורת טורית וכו '.

לכן תכנות מערכת משובצת חשוב מאוד למעבד. קיימות שפות תכנות שונות עבור מערכות משובצות כגון C, C ++, שפת הרכבה, JAVA, סקריפט JAVA, Visual Visual וכו '. לכן שפת תכנות זו ממלאת תפקיד מפתח בעת ביצוע מערכת משובצת אך בחירת השפה חיונית מאוד.

צעדים לבניית תוכנית C משובצת

ישנם שלבים שונים המעורבים בתכנון תוכנית c משובצת כמו להלן.

  • הערות
  • הוראות מעבד
  • תצורת הנמל
  • משתנים גלובליים
  • פונקציית ליבה / פונקציה עיקרית
  • הצהרת משתנה
  • ההיגיון של התוכנית

הערות

בשפות התכנות, הערות חיוניות מאוד לתיאור תפקוד התוכנית. קוד ההערות אינו ניתן להפעלה אך משמש למסירת תיעוד תוכניות. כדי להבין את פונקציית התוכנית, זו תהפוך שיטה פשוטה להבנת פונקציית התוכנית. ב- C משובץ, הערות זמינות בשני סוגים, כלומר הערה שורה אחת ותגובה ראשית.

בשפת תכנות C משובצת, אנו יכולים למקם הערות בקוד שלנו המסייע לקורא להבין את הקוד בקלות.

C = a + b / * הוסף שני משתנים שערכם נשמר במשתנה אחר C * /

תגובה שורה אחת

באופן כללי, עבור שפות התכנות, הערות בשורה אחת שימושיות מאוד לבירור חלק מהתכנית. הערות אלה מתחילות עם קו נטוי כפול (//) והוא יכול להיות ממוקם בכל מקום בשפת התכנות. באמצעות זה ניתן להתעלם מהקו השלם בתוך תוכנית.

תגובה מרובת-קו

הערות מרובות שורות מתחילות עם קו נטוי יחיד (/) וכוכבית (/ *) בשפות התכנות המסבירות גוש קוד. ניתן לסדר הערות מסוג זה בכל מקום בתוך שפת התכנות ובעיקר להתעלם מגוש קוד שלם בתוך תוכנית.

הוראות מעבד

השורות הכלולות בקוד התוכנית נקראות הוראות מעבד מראש אשר ניתן לעקוב אחריהם באמצעות סמל hash (#). שורות אלה הן הוראות מעבד מקדים אך לא הצהרות מתוכנתות.
ניתן לבחון את הקוד באמצעות מעבד מקדים לפני שמתחיל איסוף הקוד האמיתי ויפתור הוראות אלה לפני יצירת קוד באמצעות הצהרות רגילות. ישנן מספר הוראות מעבד מקדים זמינות, אם כי שתי הוראות מועילות ביותר בשפת התכנות

כמו הבא.

#לִכלוֹל
#לִכלוֹל
נורית Sbit = P2 ^ 3
רָאשִׁי()
{
נורית = 0x0ff
לְעַכֵּב()
נורית = 0x00
}
#לְהַגדִיר
#לִכלוֹל
#define LED P0
רָאשִׁי()
{
נורית = 0x0ff
לְעַכֵּב()
נורית = 0x00
}

בתוכנית לעיל, בדרך כלל משתמשים בהוראת # כללה כדי להכיל ספריות סטנדרטיות כמו לימוד ו. h משמש לאפשר פונקציות קלט / פלט באמצעות הספרייה של 'C'. ההוראה #define משמשת בדרך כלל לתיאור סדרת המשתנים ומקצה את הערכים על ידי ביצוע התהליך בהוראה מסוימת כמו פקודות מאקרו.

תצורת הנמל

המיקרו-בקר כולל מספר יציאות בהן לכל יציאה סיכות שונות. ניתן להשתמש בפינים אלה לשליטה בהתקני הממשק. ההצהרה על סיכות אלה יכולה להיעשות בתוך תוכנית בעזרת מילות מפתח. מילות המפתח בתוכנית c המוטמעת הן סטנדרטיות, כמו גם מוגדרות מראש כמו bit, sbit, SFR המשמשות לקביעת הביטים והסיכה היחידה בתוך תוכנית.

יש מילים מסוימות ששמורות לביצוע משימות ספציפיות. מילים אלה ידועות כמילות מפתח. הם סטנדרטיים ומוגדרים מראש ב- Embedded C. מילות המפתח כתובות תמיד באותיות קטנות. יש להגדיר מילות מפתח אלה לפני כתיבת התוכנית הראשית. הפונקציות העיקריות של מילות המפתח כוללות את הפעולות הבאות.

#לִכלוֹל
Sbit a = P 2 ^ 2
SFR 0x00 = PoRT0
ביט ג '
רָאשִׁי()
{
…………… ..
…………… ..
}

sbit

זהו סוג נתונים אחד המשמש לגישה לסיבית בודדת בתוך רישום SFR.

התחביר לסוג נתונים זה הוא: שם משתנה sbit = סיבית SFR

דוגמה: sbit a = P2 ^ 1

אם נקצה את p2.1 כמשתנה 'a', נוכל להשתמש ב- 'a' במקום ב- p2.1 בכל מקום בתוכנית, מה שמקטין את מורכבות התוכנית.

קצת

סוג זה של סוג נתונים משמש בעיקר לאפשר זיכרון הניתן לכתובת סיביות של זיכרון גישה אקראית כמו 20h עד 2fh.

התחביר של סוג נתונים זה הוא: שם משתנה הסיביות

דוגמה: ביט ג

זוהי הגדרת סדרות קצת באזור נתונים קטן המשמש בעיקר בעזרת תוכנית לשינון משהו.

SFR

סוג נתונים מסוג זה משמש להשגת היציאות ההיקפיות של רישום ה- SFR באמצעות שם נוסף. לכן, ההכרזה על כל מרשמי ה- SFR יכולה להיעשות באותיות גדולות.

התחביר של סוג נתונים זה הוא: שם משתנה SFR = כתובת SFR לרישום SFR

דוגמה: יציאת SFR0 = 0 × 80

אם נקצה 0 × 80 כמו 'port0', לאחר מכן נוכל לנצל 0 × 80 במקום port0 בכל מקום בשפת התכנות כדי להקטין את הקושי בתוכנית.

רישום SFR

ה- SFR מייצג רישום פונקציות מיוחדות. במיקרו-בקר 8051, הוא כולל את זיכרון ה- RAM עם 256 הבתים, המחולק לשני אלמנטים עיקריים: האלמנט הראשון של 128 הבתים משמש בעיקר לאחסון הנתונים ואילו האלמנט השני של 128 הבתים משמש בעיקר לרישומי SFR. כל ההתקנים ההיקפיים כגון טיימרים, מונים ויציאות קלט / פלט מאוחסנים ברשומת SFR וכל אלמנט כולל כתובת אחת.

משתנים גלובליים

כאשר המשתנה מוכרז לפני שפונקציית המפתח מכונה המשתנה הגלובלי. ניתן לאפשר משתנה זה בכל פונקציה בתוך התוכנית. אורך חיי המשתנה הגלובלי תלוי בעיקר בתכנות עד שהוא מגיע לסיומו.

#לִכלוֹל
לא חתום a, c = 10
רָאשִׁי()
{
……………
………… ..
}

פונקציית ליבה / פונקציה עיקרית

הפונקציה העיקרית היא חלק מרכזי בזמן ביצוע כל תוכנית והיא מתחילה בפונקציה הראשית בפשטות. כל תוכנית משתמשת בפונקציה מרכזית אחת בלבד שכן אם התוכנית כוללת מעל פונקציה עיקרית אחת, הבא המהדר יתבלבל בתחילת ביצוע התוכנית.

#לִכלוֹל
רָאשִׁי()
{
……………
………… ..
}

הצהרת משתנה

השם כמו המשתנה משמש לאחסון הערכים, אך יש להכריז תחילה על משתנה זה לפני השימוש בתוכנית. הצהרת המשתנה מציינת את שמה וכן סוג נתונים. כאן, סוג הנתונים אינו אלא ייצוג נתוני אחסון. בתכנות C מוטבע, הוא משתמש בארבעה סוגי נתונים בסיסיים כמו מספר שלם, צף, תו לאחסון הנתונים בזיכרון. ניתן להגדיר את גודל סוג הנתונים, כמו גם את הטווח, בהתאם למהדר.

סוג הנתונים מתייחס למערכת נרחבת להכרזה על משתנים מסוגים שונים כמו מספר שלם, תו, צף וכו '. תוכנת C המוטמעת משתמשת בארבעה סוגי נתונים המשמשים לאחסון נתונים בזיכרון.

'Char' משמש לאחסון כל תו יחיד 'int' משמש לאחסון ערך שלם, ו' float 'משמש לאחסון כל ערך נקודת צף מדויקת. הגודל והטווח של סוגי הנתונים השונים במכונת 32 סיביות ניתנים בטבלה הבאה. הגודל והטווח עשויים להשתנות במכונות עם גדלי מילים שונים.

  • גודל סוג הנתונים של char / חתום הוא בת אחד, והטווח שלו הוא בין -128 ל- +128
  • גודל סוג הנתונים של החיכה שלא חתום הוא בת אחד, והטווח שלו הוא בין 0 ל -255
  • גודל סוג הנתונים int / חתום הוא 2 בתים והטווח שלו הוא -32768 עד 32767
  • גודל סוג הנתונים שאינו חתום הוא 2 בתים והטווח שלו הוא בין 0 ל -65535

רָאשִׁי()
{
לא חתום int, b, c
}

המבנה של תוכנית C משובצת מוצג להלן.

  • הערות
  • הוראות מעבד מקדים
  • משתנים גלובליים
  • פונקציה main ()

{

  • משתנים מקומיים
  • הצהרות
  • ………… ..
  • ………… ..

}

  • כיף (1)

{

  • משתנים מקומיים
  • הצהרות
  • ………… ..
  • ………… ..

}

ההיגיון של התוכנית

ההיגיון של התוכנית הוא תוכנית של המסלול המופיע בתיאוריה שמאחורי תפוקות פעולות של התוכנית. זה מסביר את ההצהרה אחרת תיאוריה לגבי הסיבה שהתוכנית המשובצת תפעל ומראה את ההשפעות המוכרות של פעולות אחרת.

רָאשִׁי
{
נורית = 0x0f
עיכוב (100)
נורית = 0x00
עיכוב (100)
}

הגורמים העיקריים של תוכנית C משובצת

הגורמים העיקריים שיש לקחת בחשבון בעת ​​בחירת שפת התכנות לפיתוח מערכת משובצת כוללים את הדברים הבאים.

גודל התוכנית

כל שפת תכנות תופסת זיכרון כלשהו כאשר מעבד משובץ כמו מיקרו-בקר כולל כמות פחותה במיוחד של זיכרון גישה אקראית.

מהירות התוכנית

שפת התכנות צריכה להיות מהירה מאוד, ולכן עליה לרוץ במהירות האפשרית. אין להפחית את מהירות החומרה המוטמעת בגלל התוכנה הפועלת באטיות.

הִטַלטְלוּת

עבור המעבדים המשובצים השונים, ניתן לבצע איסוף של תוכניות דומות.

  • יישום פשוט
  • תחזוקה פשוטה
  • קְרִיאוּת

ההבדלים בין תוכנית C לתוכנית C מוטמעת

ההבדל בין תכנות C ו- C מוטבע אינו הרבה מלבד סביבת ההפעלה והרחבות מסוימות. שפות תכנות אלה הינן תקני ISO ויש בהן תחביר דומה, פונקציות, סוגי נתונים וכו '. ההבדלים העיקריים בין תכנות C לתכנות c מוטבע כוללים את הדברים הבאים.

שפה ג

שפה C מוטמעת

באופן כללי, שפה זו משמשת לפיתוח יישומים מבוססי שולחן עבודה

שפת C משובצת משמשת לפיתוח יישומים מבוססי מיקרו-בקר.
שפת C אינה הרחבה לשום תכנות כלשהי, אלא שפת תכנות למטרות כלליותEmbedded C הוא הרחבה לשפת התכנות C הכוללת מאפיינים שונים כגון כתובת I / O, חשבון נקודה קבועה, כתובת זיכרון מרובה וכו '.

הוא מעבד התפתחות טבעית בטבעהוא מעבד התפתחות צולבת בטבע
זה בלתי תלוי בארכיטקטורת חומרהזה תלוי בארכיטקטורת החומרה של המיקרו-בקר ומכשירים אחרים
המהדרים של שפת C תלויים במערכת ההפעלהמהדרים משובצים C אינם תלויים במערכת ההפעלה
בשפה C, המהדרים הסטנדרטיים משמשים לביצוע תוכניתבשפה C משובצת משתמשים במהדרים ספציפיים.
המהדרים הפופולריים המשמשים בשפה זו הם GCC, בורלנד טורבו C, אינטל C ++ וכו 'המהדרים הפופולריים המשמשים בשפה זו הם Keil, BiPOM Electronics & green hill
הפורמט של שפת C הוא בפורמט חופשיהפורמט שלו תלוי בעיקר בסוג המעבד המשמש.
אופטימיזציה של שפה זו היא נורמליתאופטימיזציה של שפה זו היא רמה גבוהה
קל מאוד לשנות ולקרואזה לא קל לשנות ולקרוא
תיקון באגים קלתיקון באגים של שפה זו מסובך

דוגמאות לתוכנית C מוטבעות

להלן מספר תוכניות Embedded C פשוטות המשמשות פרויקטים מבוססי מיקרו-בקר .

דוגמא -1

דוגמא -1

דוגמה -2

דוגמה -2

דוגמה -3

דוגמה -3

דוגמה -4

דוגמה -4

יתרונות

ה היתרונות של תכנית c מוטמעת g כוללים את הדברים הבאים.

  • זה פשוט מאוד להבנה.
  • היא מבצעת משימה דומה ללא הרף ולכן אין צורך בשינוי חומרה כמו זיכרון נוסף אחרת שטח אחסון.
  • היא מבצעת פשוט משימה אחת בבת אחת
  • עלות החומרה המשמשת ב- c המוטבע בדרך כלל נמוכה כל כך.
  • היישומים של מוטבעים מתאימים ביותר בתעשיות.
  • לוקח פחות זמן לפתח תוכנית יישומים.
  • זה מפחית את מורכבות התוכנית.
  • קל לאמת ולהבין.
  • זה נייד מבקר אחד למשנהו.

חסרונות

ה חסרונות של תכנות ג מוטבעות כלול את הבאים.

  • בכל פעם, הוא מבצע רק משימה אחת אך אינו יכול לבצע את המשימות המרובות
  • אם נשנה את התוכנית אז צריך לשנות גם את החומרה
  • הוא תומך רק במערכת החומרה.
  • יש לה בעיה בהרחבה
  • יש לו מגבלה כמו זיכרון מוגבל אחרת תאימות של המחשב.

יישומים של תוכנית C Embedded

ה יישומים של תכנות c מוטבע כלול את הבאים.

  • תכנות C מוטבע משמש בתעשיות למטרות שונות
  • שפת התכנות בה משתמשים ביישומים היא בודק מהירות בכביש המהיר, שליטה ברמזורים, שליטה ברמזור, מעקב אחר הרכב, בינה מלאכותית, אוטומציה ביתית ובקרת אינטנסיביות אוטומטית.

אנו מקווים שהצלחנו לספק דרך קלה ונגישה למתחילים תכנות C מוטבע . הבנת התכנות Embedded C היא התנאי החיוני ביותר לתכנון פרויקטים מבוססי-מוטבע. בנוסף לכך, הבנה טובה יותר וידע נכון לגבי תכנות C מוטבע עוזרות לסטודנטים מאוד בבחירת קריירה מתגמלת.

אנו מעודדים ומקבלים בברכה שאילתות, הצעות והערות מקוראינו. לכן, תוכל לפרסם את שאילתותיך ומשובך אודות מאמר זה בסעיף ההערות המופיע להלן. עקוב אחר הקישור להלן פרויקטים ללא הלחמה