USART_RX_vectの仕様

ISR(USART_RX_vect)割り込みで、UDR0バッファを読み出さないとISR()内が無限ループになる。
RX受信割り込みなので、UDRを使わないことは想定されてないということだろうか。

/* Name: main.c
 * Author: <insert your name here>
 * Copyright: <insert your copyright message here>
 * License: <insert your license reference here>
 */

#include <avr/io.h>
#include <util/delay.h>
#include "usart.h"
#include <avr/interrupt.h>

ISR(USART_RX_vect)
{
   char data = UDR0; //UDRバッファを読み出さないとここが無限ループになる。USART_RXCの仕様か。
   Usart::putString("You entered: ");
}

int main(void)
{
    int ubrr = Usart::getUBRR(9600);
    Usart::USART_init(ubrr);
    sei();

    for(;;){
        Usart::putString("Hello\n");
        _delay_ms(1000);
    }
    return 0;   /* never reached */
}
import serial
s = serial.Serial("/dev/tty.usbmodem1411")
while(True):
    data = s.readline()
    print(data)