打印函数
0赞
发表于 8/3/2010 2:31:50 PM
阅读(1423)
void uart_init0(void) {
DDRB = 0xFF; /*方向输出*/
PORTB = 0xFF;
UCSR0A = (1 << U2X0); /*倍速*/
UCSR0B = (1 << TXEN0) | (1 << RXEN0); /*允许接收和发送*/
UCSR0C = (1 << UCSZ01) | (1 << UCSZ00); /*8位数据、1 位停止、异步、无校验*/
UBRR0H = 0x00;
UBRR0L = 12; /*波特率9600*/
}
PORTB = 0xFF;
UCSR0A = (1 << U2X0); /*倍速*/
UCSR0B = (1 << TXEN0) | (1 << RXEN0); /*允许接收和发送*/
UCSR0C = (1 << UCSZ01) | (1 << UCSZ00); /*8位数据、1 位停止、异步、无校验*/
UBRR0H = 0x00;
UBRR0L = 12; /*波特率9600*/
}
/*数据发送,查询方式*/
void Printf(unsigned char *P) {
do{
while (!(UCSR0A & (1<<UDRE0))); /* 等待发送缓冲器为空*/
UDR0 = *P; /* 发送数据*/
P++;
}
while(*P!='\0');
while (!(UCSR0A & (1<<UDRE0))); /* 等待发送缓冲器为空*/
UDR0 = 0x0D; /* 发送回车数据*/
while (!(UCSR0A & (1<<UDRE0))); /* 等待发送缓冲器为空*/
UDR0 = 0x0A; /* 发送换行数据*/
}
void Printf(unsigned char *P) {
do{
while (!(UCSR0A & (1<<UDRE0))); /* 等待发送缓冲器为空*/
UDR0 = *P; /* 发送数据*/
P++;
}
while(*P!='\0');
while (!(UCSR0A & (1<<UDRE0))); /* 等待发送缓冲器为空*/
UDR0 = 0x0D; /* 发送回车数据*/
while (!(UCSR0A & (1<<UDRE0))); /* 等待发送缓冲器为空*/
UDR0 = 0x0A; /* 发送换行数据*/
}
