I'm working with the USART of the atmega 16, and I ran into some code in the manual which I didn't understand. The code is used for receiving a character. The code:
unsigned char receive_char(void)
while( !(UCSRA & (1<<RXC))
UCSRA is an eight bit register. When receive is complete (and no errors), the register will equal 0x00. RXC is bit 7 of the UCSRA register.
So, what does 1<<RXC mean?