وقتی یک متغیر در Interrupt تغییر میکند، باید از volatile استفاده شود.
اگر volatile نگذارید، ممکن است کامپایلر مقدار متغیر را cache کند و برنامه درست کار نکند.
مثال به شرح تصویر.
@easymcu
۲۶۳
۱۳:۳۲
02 3 mistakes in starting embedded.m4a
۰۵:۵۶-۵.۵۸ مگابایت
اگر تصمیم گرفتی زمینه Embedded System ها رو تخصصی شروع کنی، 3 اشتباه بزرگ در شروع مسیر در کمینه. پس این Voice رو گوش کن.
@easymcu
@easymcu
۲۱۲
۹:۰۳
Stack بخشی از RAM است که برای موارد زیر استفاده میشود:• ذخیره متغیرهای محلی• ذخیره آدرس بازگشت توابع• مدیریت فراخوانی توابع
اگر Stack بیش از حد استفاده شود چه میشود؟
در این حالت برنامه ممکن است: • کرش کند • رفتار غیرقابل پیشبینی داشته باشد • ریست شود
به همین دلیل مدیریت Stack در Embedded بسیار مهم است.
@easymcu
۲۰۰
۹:۲۹
در حال حاضر نمایش این پیام پشتیبانی نمیشود.
۱۹۹
۷:۲۳
مرتضی زندی | EasyMCU
پیام
درود و مهر.همچنان اینجا هستیم و لینک عضویت تلگرام رو در ادامه براتون قرار میدم.
https://t.me/easymcu_ir
طبیعتا قصد داریم تلگرام رو اولویت اول بذاریم، و در آینده یک سری آموزش هایی رو که قرار میدیم بر بستر تلگرام خواهد بود.بله امکانات محدودی داره و دستمون باز نیست، بنابراین پیشنهاد میشه هر دو سمت رو داشته باشید که به همه آموزش ها دسترسی داشته باشید. اولویت اول تلگرام هست بخاطر امکاناتش.
https://t.me/easymcu_ir
طبیعتا قصد داریم تلگرام رو اولویت اول بذاریم، و در آینده یک سری آموزش هایی رو که قرار میدیم بر بستر تلگرام خواهد بود.بله امکانات محدودی داره و دستمون باز نیست، بنابراین پیشنهاد میشه هر دو سمت رو داشته باشید که به همه آموزش ها دسترسی داشته باشید. اولویت اول تلگرام هست بخاطر امکاناتش.
۱۲۸
۱۳:۴۰
(البته در بله نمیشه! پس جواب رو در پست بعدی آدرس میدم که چک کنید، البته با فاصله
۱۷۱
۱۳:۴۲
مرتضی زندی | EasyMCU
5 اشتباه مرگبار در امبدد C !! مشاهده ویدئو در آپارات از لینک زیر
https://www.aparat.com/v/vvi4mn3
در این ویدئوی ریپلای شده پاسخ چالش رو بررسی کرده بودیم! ویدئو رو دیدید؟مورد شماره 3 پاسخ چالش هست.
۱۲۷
۱۳:۲۱
3 اشتباه در یادگیری امبدد C.m4a
۰۴:۱۹-۴.۰۶ مگابایت
وقتی از کدها استفاده می کنی و دقیقا نمی دونی پشت صحنه چه اتفاقی می افته !این Voice رو گوش کن.
@easymcu
@easymcu
۱۳۴
۱۳:۳۴
۶۵
۷:۵۱