USART1发送双字节数据的问题
书上例子如下
void f_USART1TxWord(unsigned int c)
{while(!(UCSR1A&(1<<UDRE1)));
UDR1=(unsigned char)c; //问题1:为何要把整型c强制转换为char型再写入UDR呢?
while(!(UCSR1A&(1<<TXC0)));
UCSR1A|=1<<TXC1;
UDR1=(unsigned char)(c>>8);//问题2 这个语句是做什么的,为何c>>8?
while(!(UCSR1A&(1<<TXC0))); //问题3,while(!(UCSR1A&&(1<<TXC0))); UCSR1A|=1<<TXC1;为何出现两次,什么用意呢
UCSR1A|=1<<TXC1;
return;
}
麻烦大家了,帮我看看
|