if _ else:
به كمك اين دستور، ما ميتوانيم براي اجراي هر بخش از برنامه شرط يا شروطي بگذاريم كه اگر اين شروط برقرار نباشند، ميكروكنترلربدون اجراي آن دستورات از روي آنها رد شود و روند اجراي برنامه به بعد از اين دستورات منتقل شود. اين دستور در برنامه به شكل زير استفاده ميشود.
دستوراتي كه فقط اگر شروط بالا برقرار باشند اجرا ميشوند
دستوراتي كه فقط اگر شروط بالا برقرار نباشند اجرا ميشوند
نكات مهم در مورد اين ساختار:
1- بعد از هر كدام از دستورات در داخل if و else بايد حتماً ";" گذاشته شود.
2- دقت كنيد كه بعد از خود if و else نيازي به ";" نيست.
3- اگر بخواهيم چند شرط براي if بگذاريم ، به نحوي كه فقط اگر همهي شروط برقرار بودند دستورات اجرا شوند، بايد به شكل زير عمل كنيم:
if (شرط1 && شرط2 && شرط3)
4- اگر بخواهيم چند شرط براي if بگذاريم ، به نحوي اگر هركدام ازشروط برقرار بودند، دستورات مربوطه اجرا شوند بايد به شكل زير عمل كنيم:
if (شرط1 || شرط2 || شرط 3 )
5- اگر بخواهيم تساوي 2 عبارت، يا يك عبارت با يك مقدار را چك كنيم به شكل زير عمل مي كنيم:
اين عبارت 2 شرط دارد كه اگر متغير a برابر با متغير b باشد و اگر متغير f هم برابر با مقدار 20 باشد، دستورات مربوط به if اجرا ميشوند.
6- اگر بخواهيم مقدار خروجي مثلاً يك سنسور نوري را چك كنيم كه 1 منطقي است يا نه، به صورت زير عمل ميكنيم:
if ( PORTB.1== 1 )
يا
if (PORTB.1 !== 0 )
اين 2 عبارت دقيقاً يك كار را انجام ميدهند. همانطور كه ميبينيد، "==!" به معناي عدم تساوي است.در حالت كلي "!"در اين زبان به معناي نقيض است.