Spb_Alex Читать неформатированный текст тяжело, а разбираться во
всей Вашей машине состояний тоже моло кому охота, тем более что нет инициализации, старта передачи и т.д. Из вопроса так и не понял толи у Вас шлются первых 3 байта, толи сразу прерывания не работают. Да и флеш там на SPI повешен или ещё чего - дело десятое. Если нет прерываний всех кроме первого - то так и пишите.
Теперь по делу:
Цитата
SPI Status Register (S0SPSR - 0xE002 0004)
Bit 7 SPIF - SPI transfer complete flag. When 1, this bit indicates when a SPI data transfer is complete. When a master, this bit is set at the end of the last cycle of the transfer. When a slave, this bit is set on the last data sampling edge of the SCK. This bit is cleared by first reading this register, then accessing the SPI data register.
Note: this is not the SPI interrupt flag. This flag is found in the SPINT register.
Цитата
SPI Interrupt register (S0SPINT - 0xE002 001C)
Bit 0 SPI Interrupt Flag - SPI interrupt flag. Set by the SPI interface to generate an interrupt. Cleared by writing a 1 to this bit.
Note: this bit will be set once when SPIE = 1 and at least one of SPIF and MODF bits changes from 0 to 1. However, only when the SPI Interrupt bit is set and SPI Interrupt is enabled in the VIC, SPI based interrupt can be processed by interrupt handling software.
Т.е. как минимум читайте SPSR в прерывании.