HI, ich hab ein problem mit den SPI Funktionen, wieso leist man den Bus, indem man 0xff schreibt ?
hier der entsprechende Codeabschnitt:
Code:
//|============================= SPI Transmission =============================|
uint8_t spi_putc( uint8_t data )
{
// Sende ein Byte
SPDR = data;
// Warten bis Byte gesendet wurde
while( !( SPSR & (1<<SPIF) ) );
return SPDR;
}
//|============================ Ein Register lesen ============================|
uint8_t mcp2515_read_register(uint8_t adress)
{
uint8_t data;
PORTB &= ~(1<<SPI_CS); // CS low
spi_putc(SPI_READ);
spi_putc(adress);
data = spi_putc(0xff);
PORTB |= (1<<SPI_CS); // CS high
return data;
}
Lesezeichen