AVRStudio5でUSART(割り込み受信)

前回は送信の確認をしたので,今回は受信のテストをします.
割り込みでデータを受信できるようにします.
HWとかは前回と同じ.

#include <avr/io.h>
#include <avr/interrupt.h>//割り込みを利用するので.
#include <util/delay.h>

#define FOSC 16000000
#define BAUD 9600
#define MYUBRR FOSC/16/BAUD-1

void port_init(void){
	DDRB = 0x01;
	PORTB = 0x00;
}

void usart_init(unsigned char ubrr){
	UBRR0H = (unsigned char)(ubrr>>8);
	UBRR0L = (unsigned char)ubrr;
	UCSR0B = (1<<RXEN0)|(1<<TXEN0)|(1<<RXCIE0);//割り込み受信設定
	UCSR0C = (1<<USBS0)|(3<<UCSZ00);
}

int main(void)
{
	char a;
	port_init();
	usart_init(MYUBRR);
		
	sei();
		
    while(1)
    {
		PORTB = ~PORTB;
		_delay_ms(1000);
    }
}

ISR(USART_RX_vect){//割り込み受信設定.
	if(bit_is_clear(UCSR0A,FE0)){
		UDR0 = UDR0;
	}
}

ハイパーターミナルとかで入力した値がエコーされます.


[:large]