ארכיון
 אינטרפייס

הטור השבועי של שחר מנדלוביץ

 

 

 

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

 

כיבוי/הדלקה של מצבים: ניתן ליצור בתוכנה דגלים הממסכים את הפעולה של סברוטינות שונות, ולשחק עם המצבים של הביטים הללו, וכך להפעיל את הסברוטינות כרצוננו. כיצד? בראש הסברוטינה נכתוב תנאי הבודק את מצב הדגל המתאים לסברוטינה. במקרה שהוא אפס נצא מהסברוטינה (והיא לא תבוצע) ואם הוא 1 נתעלם, והיא תבוצע. לכאורה, זה נראה מייגע ומסורבל, אך נשים לב כי זמן ההוצאה לפעל של השוואת ביטים אינו ארוך בד"כ. ניתן להימנע מכניסות מיותרות לסברוטינה עצמה מבלי להוסיף שינויים רבים, אלא רק ע"י שינוי ביט בזיכרון. למי שעובד עם מיקרוקונטרולר, דוגמת HC12 ו ה- DBUG12, יש אפשרויות יותר נרחבות – במקום להעלות כל פעם את התוכנה מחדש, בתהליך ארוך ומייגע, ניתן בעזרת ה-debugger לשנות את מצב הביטים בזמן ריצת התוכנה, וכך להגיע לאותו תוצאות בפחות זמן!

 

שימוש בפסיקות (interrupts): כמובן, מערכת ההפעלה שלכם במחשב אינה תקועה על אותה נקודה כל הזמן ומחכה – "נו , בבקשה ! תלחץ על הכפתור! אני תקועה!" (אולי חוץ מ-WINDOWS ME), אלא היא רצה בלולאה האינסופית שלה, ומחכה שיקרו אירועים חיצוניים. ומהם? Reset של המחשב, לחיצה על כפתור הזזת העכבר (שימו לב – העכבר זז עם אנקודרים מסוגים שונים – אם זה אנקודר ממש, או קרן אופטית) וכדומה. נשים לב: כל מה שרשום למעלה מתאים הן למערכת ההפעלה של    המחשב – או למיקרוקונטרולר ! לדוגמא, כאשר מבוצע reset נשמרים ערכים שונים בזיכרון ואז התוכנית מאותחלת מחדש – אך זוהי פעולה אוטומטית, שאיננה נוצרת ע"י המתכנת. לעומת זאת, קריאת אנקודרים, כמו העכבר במחשב או מדידת סיבובי המנועים ברובוט יכולה להיעשות באמצעות פסיקה, כך שנוכל להמשיך ולקיים מהלך תוכנה רציף ותקין. גם קריאת מקשים  (למי שמכיר את מאפייני התקשורת של המיקרוקונטרולר, למחשב למשל) לצורך שליטה על הרובוט באופן ידני, ניתן לבצע באמצעות פסיקות.

 

להתראות שבוע הבא! שחר....




רוצה ללמוד כיצד לחשב ערכי התנגדות של נגד?

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

כל הזכויות שמורות לאסף פוניס, גיא יונה ואלי קולברג ©
אין להעתיק תכנים מאתר זה ללא רשות בכתב ממנהלי האתר

אתר זה נצפה באופן מיטבי ברזולוציית 1024X768