PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Versteh diesen Codeschnipsel zum SPI nicht !



LC-HC
17.04.2006, 22:29
HI, ich bin grade dabei ein eigenes CAN-Board, bzw. eine abgeänderte Version des "kreatives-chaos.com" boards zu basteln. Nun stellt sich mir aber folgende Frage zum SPI code:

Daten über den SPI senden ist völlig klar, wieso jedoch wird im beispiel der
Bus auf diese Art gelesen ( read = putc(0xff) ) ?

Reicht es nicht zu warten, bis das SPIF nach einem Sendevorgang zum µC gesetzt ist und dann den SPI Datenreg. Inhalt einfach in einer Variablen zu speichern ?

hier mal der code:
[CODE]
uint8_t SPI_Send(uint8_t data)
{
// from data to SPDR (DataRegister)
SPDR = data;

// wait for SPIF to be set
while( !(SPSR &(1<<SPIF)) );

return SPDR;
}

//zum beispiel:
// Daten senden:
SPI_Putc(2);

//daten lesen:
// wieso lesen mit der sendefunktion ?
daten = SPI_Putc(0xFF);



[-(