|
楼主 |
发表于 2008-6-3 22:19:08
|
显示全部楼层
搞了一晚上,和PC的串口通信一直有问题,就在【数据寄存器空】中断中发送一个字符
除了0x00,和0xFF 发送到PC机是正确的,其它任何信息都是错误的
这次没用汇编,用WINAVR写的,真是郁闷啊!
串口初时化如下:
//############################################################################
// USART initialization
// Communication Parameters: 8 Data, 1 Stop, No Parity
// USART Receiver: On
// USART Transmitter: On
// USART Mode: Asynchronous
// USART Baud rate: 9600
void ut_init (void)
//############################################################################
{
//Enable TXEN im Register UCR TX-Data Enable & RX Enable
UCSRB |= (1 << RXCIE)|(1 << TXCIE)|(1 << UDRIE)|(1 << RXEN)|(1 << TXEN);
//UCSRB = 0XD8;
UCSRC |= (1 << URSEL)|(1 << UCSZ1)|(1 << UCSZ0);
//UCSRC = 0x86;
//计算波特率(SYSCLK用外部晶振7.3728MHz)
UBRRL= (SYSCLK / (BAUD_RATE * 8L) -1 );
} |
|