ארכיון
 השבוע אדבר על תכנות הרובוט, במתכונת דומה ל-MultiTasking, אך לעומת שיטה זו, לא נקבע זמן מסויים לכל משימה ממש

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

 

 

 

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

 

במיקרו-בקרים רבים ישנה פסיקת שעון, המבוססת על זמן, אשר ניתן לקבוע את התדירות בה היא תקרא. לדוגמא, ב-HC12 ישנו Output Compare שניתן לשנות את זמני הפסיקה שלו, TOVF קבוע כל 8 מילי שניות או RTI (real time interrupt) שפועל לפי זמני מעבד קבועים ומקבל עדיפות מאד גבוהה בפסיקות, וניתן לתכנתו לבצע פסיקה בזמנים של כל מספר ימים (!!!) עד 1.024 מילי שניות. בזמן הפסיקות ניתן לבצע את כל הפעולות התדירות החיוניות לפעולת הרובוט (כפי שהוזכר) – נרמול, בקרה ותרגום של אותות. שיטה זו חוסכת בפעולות של התוכנית הראשית, וכך ניתן להגיע לרמת מורכבות גבוהה יותר בה.

 

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

        

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

 

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

 




מחפש שאלות ותשובות נפוצות מפורום האתר?

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

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

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