Hey könnte es sein dass, das auslessen mit 8Mhz nicht funktionier?

Mein code funktioniert nicht und der C code von hier funktioniert auch nicht... Warum denn das!!!?


Code:
#include <avr/io.h>
#include <avr/interrupt.h>
#include <avr/iom48.h>

#define FOSC 6000000// Clock Speed
#define BAUD 250000
#define MYUBRR FOSC/16/BAUD-1
#define ziel_adr 1 // hier die Adresse des Gerätes angeben
#define real_adr ziel_adr+1//trägt dem führenden Nullbyte rechnung

volatile unsigned int byte_counter = 0;
volatile unsigned char befehl [4] = {0};
volatile unsigned int time;
volatile unsigned char tmp;
volatile unsigned int tmp2;

void USART_Init( unsigned int ubrr)
{
/* Set baud rate */
UBRR0H = (unsigned char)(ubrr>>8);
UBRR0L = (unsigned char)ubrr;
/* Enable receiver and Interrupt*/
UCSR0B = (1<<RXCIE0)|(1<<RXEN0);//|(1<<TXEN)
/* Set frame format: 8data, 2stop bit */
UCSR0C = (1<<USBS0)|(3<<UCSZ00);//|(1<<URSEL0);//
}



SIGNAL (SIG_UART_RECV)//Frame Recieve Interrupt
{
   unsigned char dummy;

   
   //PORTD =byte_counter;
   if((UCSR0A & 0b00010000)== 16)//Frame Error?
   {//JA/////////////
      byte_counter = 0;
      dummy = UDR0;
      UCSR0A &= 0b11101111;
   }
   else
   { //NEIN/////////////
      tmp = UDR0;
      if (byte_counter == real_adr) PORTB = tmp;   
   }
   byte_counter++;

}

int main (void)
{


USART_Init(MYUBRR);
DDRB = 0b11111110;
sei();
main2:

goto main2;
return 0;
}