Пишу в 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) не то, что я ему говорю, а то что в него пришло от мастера в прошлом цикле передачи (проверял осциллографом). Подскажите пожалуйста в чем проблема???
|