سلام

من تازه با یه چیزایی آشنا شدم

گفتم بزارم بعدا به کارم میاد

برای اینکه در شرط ایف دو تا شرط بزارید میتونید از && بزارید به صورت زیر

if ((PORTB.0==1) && (PORTD.1==0))

{دستور

}

الان باید هر دو شرط انجام بشه تا دستور العمل انجام بشه

اما دستور زیر یکی از شروط کافی است تا دستور انجام بشه....!

if ((PORTB.0==1) || (PORTD.1==0))

{دستور

}

حالا بازم اگه از این دستورا گیر اوردم میام میزارم

راستی دستور زیر باعث تاگل شدن میشه... تاگل یعنی تغییر ضعیت... مثلا به جایی اینکه خود دستی هی بزنی پورت فلان رو 1 کن بعدش 0 کن میای و به صورت زیر مینویسی این باعث میشه که خودش بفهمه که اگه 1 بود 0 کن و اگه 9 بود یک کن....

PORTB.0^=1;

یا

PORTB^=(1<<0);

این باعث میشه که بشه پین خاصی رو تاگل کرد

حالا اگه شرط if برابر با 1 باشه مثل زیر اونوقت سی پی یو میره تو if یعنی بدون شرط میشه

if (1) PORTB.0^=1;

الان اگه CPU متن بالا رو بخونه بدون شرط if رو اجرا میکنه

و بلعکسشم هست یعنی اگه 1 رو 0 کنیم اونوقت CPU محلش نمیزاره مثب زیر

if (0) PORTB.0^=1;

الان دیگه سی پی یو کاری با کارش نداره

_________________________

خوب میریم سراغ عملگر دیگه ای که اونم اینه..!

علامت تعجب (!) به این علامت  NOT میگن... فرض کنید که مثلا شما یه پایه ای رو میخوای بر خلاف پایه دیگه ای بزاری مثلا تا وقتی من هستم تو نباش و بلعکس مثل همون تاگل میمونه اما این قابلیت رو داره که با پین های دیگه مقایسه بشه

PORTA.1=!PORTC.0;

در مثال بالا پایه A.1 بر خلاف C.0 میشه... اگه صفره یک میشه و اگه یکه ، صفر میشه...!

 

فعلا یاعلی مدد...