|
atmega64 串口發(fā)送數(shù)據(jù)正常,但是接收數(shù)據(jù)時,進不了接收中斷??哪里有問題?
void uart0_init(void)
{
UCSR0A=0x00;
UCSR0B =0X00;
UBRR0H=((f_cpu/usart_baud/16)-1)/256; //波特率寄存器
UBRR0L=((f_cpu/usart_baud/16)-1)%256; //..
UCSR0B=(1<<UDRIE0)|(1<<RXCIE0)|(1<<RXEN0)|(1<<TXEN0); //接收結(jié)束中斷使能,接收中斷,發(fā)送中斷
UCSR0C=(1<<UCSZ01)|(1<<UCSZ00); //異步模式+8位數(shù)據(jù)+1停止位+無校驗
}
#pragma interrupt_handler uart0_rx_isr:iv_USART0_RXC
void uart0_rx_isr(void)
{
unsigned char x=0;
x=UDR0;
usart_send_data(x);
}
void init_devices(void)
{
//stop errant interrupts until set up
CLI(); //disable all interrupts
XDIV = 0x00; //xtal divider
XMCRA = 0x00; //external memory
port_init();
uart0_init();
MCUCR=0x00;
SEI();
}
|
|