AVR SPI Slave hängt bei MISO -> Ausgang

Gast #2925821
Lesenswert?

Hallo,

ich habe hier zwei Mega8 über SPI verbunden. Der Master sendet recht 
nett und der Slave hängt sich auf, sobald ich MISO auf Ausgang schalte 
bei der Initialisierung. D.h. es kommt dann kein Interrupt mehr. Schalt 
ich den MISO nicht auf Ausgang, dann kommt der Interrupt - aber 
natürlich erhält der Master dann immer nur 0xFF, da MISO ja nicht auf 
Ausgang gesetzt ist.

hier die Routinen:
1
void SPI_InitHardware( void )
2
{
3
SPI_SPCR = 0x00;    
4
SPI_SPSR = 0x00;  
5
  
6
SPI_DDR = (1 << SPI_MISO);
7
SPI_SPCR = (1 << SPI_SPIE) | (1 << SPI_SPE);
8
}
9

10
BYTE SPI_ISRGetPutc( BYTE data )
11
{
12
SPI_SPDR = data;  
13
return SPI_SPDR;
14
}
15

16
ISR(SPI_STC_vect)
17
{
18
LED1_ON();
19
SPI_ISRGetPutc(0xAA);
20
}

Was tun?

Gruß Pit

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren