سلام و خسته نباشید خدمت همه عزیزان گرامی.
یک قطعه کد دارم میدونم چطوری کار میکنه، اما نمیدونم که چه چیزی باعث همچین کاری میشه، چون آشنایی کاملی ندارم با اعمال بیتی و سخت افزار رو تازه شروع کردم، به مشکل خوردم.
ممنون میشم کمکم کنید.
#define serPin 3;
int main(void){
unsigned char x;
unsigned char REGA = 0;
for(x = 0; x < 8; x++)
{
REGA = REGA >> 1;
REGA |= (PINC &( 1 << serPin)) << (7 - serPin); // Copy bit serPin of PORTC to MSB of REGA
}
}
return 0;
خط زیرو متوجه شدم چکار میکنه، اما نفهمیدم چطوری این کار رو انجام میده، درکش سخته...
REGA |= (PINC &( 1 << serPin)) << (7 - serPin); // Copy bit serPin of PORTC to MSB of REGA