Пишу в IARе следующее:
/******************************************************************************/
void SPI_init()
{
volatile char c;
SPCR = (1<<SPIE)|(1<<SPE)|(0<<DORD)|(0<<MSTR)|(0<<CPOL)|(0<<CPHA);
c = SPSR;
c = SPDR;
}
//******************************************************************************
#pragma vector=SPI_STC_vect
__interrupt void SPI_STC_vect_handler()
{
char in_byte;
in_byte = SPDR;
//...
SPDR = param.bt[0];
// ....
}
В итоге все ВХОДЯЩИЕ байты принимаются на ура.
Но передает SPI (по линии MISO) не то, что я ему говорю, а то что в него пришло от мастера в прошлом цикле передачи (проверял осциллографом).
Подскажите пожалуйста в чем проблема???