سلام دوستام . میخواستم i2c رو راهاندازی کنم(بدون کد ویزارد و توابع خود کد ویژین ) هر کاری کردم نشد چند خط کد هست تو کتب مختلف که اصلا متوجه نمیشم میخواستم اگه میشه کمک کنید
در اینجا اون & بیتی به چه دردی میخوره؟ اصلا & اینجا به چه صورت اجرا میشه ؟ من تکیشو دیده بودم مثل: while(PINC & 0x04) که اگه پورت مورد نظر رو بیت 2 رو روشن میکردم تو حلقه while میرفت اما این که مساوی چیزی باشه تا حالا برخورد نکرده بودم
توی کد پایین اگه اینتراپت 1 نشه میاد و وضیت رو چک میکنه . مگه نباید اول اینتراپت یک شه تا وضیت رو چک کنیم؟؟؟ببینیم که اسلیو چی کار کرده؟
در مورد & تا اونجا که میدونم میاد تک تک بیتارو با هم مقایسه میکنه مثلا
0X05&0X04 =0X04
اگه درست گفته باشم !!!
اما اینجا معنیشو متوجه نمیشم . ممنون میشم اساتید کمک کنن
یه سوال دیگه میشه از کدهای زیر به جای بالاییا استفاده کرد؟
کد:
if(twsr&0xf8) =! 0x80) error();
توی کد پایین اگه اینتراپت 1 نشه میاد و وضیت رو چک میکنه . مگه نباید اول اینتراپت یک شه تا وضیت رو چک کنیم؟؟؟ببینیم که اسلیو چی کار کرده؟
کد:
while(!TWCR&0x80); if((twsr & 0xf8 != 0x08) error(); error : nop //
0X05&0X04 =0X04
اگه درست گفته باشم !!!
اما اینجا معنیشو متوجه نمیشم . ممنون میشم اساتید کمک کنن
یه سوال دیگه میشه از کدهای زیر به جای بالاییا استفاده کرد؟
کد:
if(twsr != 0x80) error(); ///////////////////////////////// while(TWCR!=0x80);
دیدگاه