各位大侠帮我看看,下面代码为什么接收不了数据
#include<iom128v.h>
#include<macros.h>
#include<delay.h>
#define fosc 8000000
#define baud 4800
void uart0_init(void)
{
UCSR0B=0x00;
UCSR0A=0x00;
UCSR0C=(1<<UCSZ01)|(1<<UCSZ00);
UBRR0L=(fosc/16/(baud+1))%256;
UBRR0H=(fosc/16/(baud+1))/256;
UCSR0B=(1<<RXEN0)|(1<<TXEN0);
}
void putchar0(unsigned char c)
{
while(!(UCSR0A&(1<<UDRE0)));
UDR0=c;
}
unsigned char getchar0(void)
{
while(!(UCSR0A&(1<<RXC0)));
return UDR0;
}
void puts0(char *s)
{
static char i=0;
while(*s)
{
putchar0(*s);
s++;
}
putchar0(0x0a);
//putchar0(0x0d);
}
void main(void)
{
unsigned char i;
uart0_init();
while(1)
{
puts0("test ok");
delay_100us();
}
}