LC-HC
17.04.2006, 23: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);
[-(
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);
[-(