سلام.من توی برنامم واسه کلید امرجنسی مدار یک اینتراپت تعریف کردم که با اجرای اینتراپت تمام خروجی ها غیر فعال میشن تا از آسیب قطعات مکانیکی جلوگیری کنم.حالا میخوام وقتی کلید امرجنسی برداشته شد, اینتراپت به مکانی که از حافظه کد که از اونجا به اینتراپت پرش کرده , برنگرده و بره برنامه رو از اول اجرا کنه.یعنی در واقع میخوام توسط goto بپرم به اول برنامم.
این کار امکان پذیر هست .اما عملا اتفاقی که میفته اینه که هربار که اینتراپت اجرا میشه رجیستر ها تو stack ذخیره میشن و وقتی بدون return از توی برنامم از دستور goto استفاده میکنم , بدون اینکه stack خالی بشه به یک قسمت دیگه از برنامم پرش میکنم . و این باعث میشه بعد از چند بار اجرای اینتراپت stck پر میشه و میکرو هنگ میکنه.
حالا میخوام بدونم راه منطقی پرش از توی برنامه اینتراپت چیه؟
ممنون. از بسکام استفاده میکنم.
این کار امکان پذیر هست .اما عملا اتفاقی که میفته اینه که هربار که اینتراپت اجرا میشه رجیستر ها تو stack ذخیره میشن و وقتی بدون return از توی برنامم از دستور goto استفاده میکنم , بدون اینکه stack خالی بشه به یک قسمت دیگه از برنامم پرش میکنم . و این باعث میشه بعد از چند بار اجرای اینتراپت stck پر میشه و میکرو هنگ میکنه.
حالا میخوام بدونم راه منطقی پرش از توی برنامه اینتراپت چیه؟
ممنون. از بسکام استفاده میکنم.
دیدگاه