توضیح کد فلگها
توی این کد سه تا فلگ داریم که هرکدوم یه بیتن:
FLAG_POWER → بیت اول، مربوط به برق (0x1)
FLAG_ERROR → بیت دوم، مربوط به ارور (0x2)
FLAG_READY → بیت سوم، مربوط به آماده بودن (0x4)
با |= فلگها رو روشن میکنیم، با & چک میکنیم، و با ~ خاموششون میکنیم.
مثلاً این تیکه:
status |= FLAG_POWER;
status |= FLAG_READY;
یعنی پاور و حالت آماده روشن شدن.
بعد چک میکنیم اگه بیت ارور روشن بود بنویسه ERROR،
اگه خاموش بود بنویسه NO ERROR.
در آخر هم:
status &= ~FLAG_READY;
حالت آماده رو خاموش میکنه.
---
معنی مقدارهای ممکن status:
مقدار توضیح
0 همه خاموش
1 فقط پاور روشن
2 فقط ارور روشن
3 پاور و ارور روشن → باید خاموش شه
4 فقط Ready فعاله
5 پاور و Ready روشن
6 Ready و ارور روشن
7 هر سه روشن → خطا، سریع خاموش کن دستگاه
---
خلاصه:
با بیتفلگ میتونی چند وضعیت رو تو یه عدد ذخیره و کنترل کنی.
این دقیقاً همون چیزیه که تو برنامهنویسی سطح پایین و سیستمهای تعبیهشده کاربرد داره.
Post #748
77
- 👍 1