Okay. Das habe ich nun versucht.

Mein SPI schaut wie folgt aus:

Code:
void SPI_MasterInit(void) {
	// Set /SS, MOSI and SCK output, all others input 
	DDRB = (1<<PB2)|(1<<PB3)|(1<<PB5);				// SS, MOSI, CLK are Outputs
	//PORTB &= ~(1<<PB2);								// LED on (PB2 low)
	
	DDRC = (1<<PC1)|(1<<PC2)|(1<<PC3)|(1<<PC4);		// SPI::SS1...4 outputs
	PORTC = (1<<PC1)|(1<<PC2)|(1<<PC3)|(1<<PC4);	// all high
	// Enable SPI, Master, MSB first, SPI Mode 1, set clock rate fck/128
	SPCR |= (1<<SPE) | SPI_MSB_1 | (1<<MSTR) | SPI_MODE_0 | SPI_SPEED_128;
}
Code:
void SPI_MasterSend(char high, char mid, char low) {
	
	PORTB |= (1<<PB2);				// SS is set high, effects that LED is off				
	cli();
	_delay_us(5);
	SPDR = high; 
	while(!(SPSR & (1<<SPIF)));
	SPDR = mid; 
	while(!(SPSR & (1<<SPIF)));
	SPDR = low; 
	while(!(SPSR & (1<<SPIF)));
	_delay_us(5);
	sei();
	PORTB &= ~(1<<PB2);				// SS is set low, effects that LED is on
}
Code:
void SPI_Master_to_DAC_send(uint8_t mode, uint8_t dac, uint16_t wert) {
	
	uint8_t byte_high = 0x0;
	uint8_t byte_mid = 0x0;
	uint8_t byte_low = 0x0;
	char dac_buf[128];					// Buffer für Konsolenausgabe-String

	switch( mode ) 
	{ 							
		case 0: byte_high |= 0x0; break;	// write to input register n
		case 1: byte_high |= 0x8; break;	// update dac register n	
		case 2: byte_high |= 0x10; break;	// write to input register n, update all
		case 3: byte_high |= 0x18; break;	// write to and update dac channel n
	}
	switch( dac ) 
	{ 								
		case 0: byte_high |= DAC_A; break;
		case 1: byte_high |= DAC_B; break;
		case 2: byte_high |= DAC_C; break;
		case 3: byte_high |= DAC_D; break;
		case 4: byte_high |= DAC_ALL; break;
	}

	byte_mid = (wert>>4);
	byte_low = (wert<<4);

	PORTC &= ~(1<<PC1);
	SPI_MasterSend( byte_high, byte_mid, byte_low );
	PORTC |= (1<<PC1);
	sprintf( dac_buf, "## SYSTEM ## DAC Data send (%d)(%d[%d][%d])\n\r", byte_high,wert,byte_mid,byte_low);
	UART_puts(dac_buf);
}
Code:
#define SPI_MODE_0		( (0<<CPOL) | (0<<CPHA) )
#define SPI_MODE_1		( (0<<CPOL) | (1<<CPHA) )
#define SPI_MODE_2		( (1<<CPOL) | (0<<CPHA) )
#define SPI_MODE_3		( (1<<CPOL) | (1<<CPHA) )
#define SPI_MSB_1		( (0<<DORD) )
#define SPI_LSB_1		( (1<<DORD) )
#define SPI_SPEED_64	( (1<<SPR1) | (0<<SPR0) )
#define SPI_SPEED_128	( (1<<SPR1) | (1<<SPR0) )