Цитата
Что же это получается, если мне нужно прочесть не 1 байт, а 512?
Например вот так, если не использовать прерывания. В функцию передается указатель на буфер и кол-во читаемых байт.
Код
void SPIReadNBytes(char Buffer[], const unsigned short Length)
{
unsigned short i;
for (i = 0; i < Length; i++)
{
SPDR = 0x00;
while (!(SPSR & (1<<SPIF)));
Buffer[i] = SPDR;
}
}