Hallo Zusammen,

wie oben schon steht habe ich ein ganz komisches Problem mit folgendem Code
Code:
#include <avr/io.h>
#include <avr/interrupt.h>
#include <util/delay.h>
#include "uart.h"


#define UART_BAUD_RATE      9600

ISR(PCINT_vect)
{
	uart_puts("A pin change interrupt occurred!");
}

int main(void)
{
	DDRB = 0x00; //set pins as output
	PORTB |= (1<<PB0) | (1<<PB1); //activate pullup
	PCMSK |= (1<<PCINT0) | (1<<PCINT1); //mask port
	GIMSK |= (1<<PCIE); //activate PCinterrupts
	
	uart_init( UART_BAUD_SELECT(UART_BAUD_RATE,F_CPU) );
	sei();
	while(1)
	{
		uart_puts("Noch alles in Ordnung?\r\n");
		_delay_ms(1000);
	}
	return 0;
}
Es ist so, dass wenn ich die ISR auskommentiere das Programm problemlos läuft. Sobald es aber mit kompiliert wird ist nach dem uart_init(..); und sei(); schluss und die int main(void); wird von vorne durchlaufen.
D.h. der µC steckt dann in einer Endlosschleife fest.

Ich programmiere mit AVRStudio mit WinAVR plugin.

Ach ja, die UART-Routinen sind von Peter Fleury und der µC ist ein ATTiny2313.

Kann mir jemand einen Hinweis geben woran das liegen könnte?

Vielen Dank!

MfG, Marten83