00001 #include "Spi.h" 00002 00004 void Spi::writeData(unsigned char _byte) { 00005 00006 // /* start transmission */ 00007 // SPDR = _byte; 00008 // 00009 // /* wait till transmission is complete */ 00010 // while (!(SPSR & (1<<SPIF))); 00011 // 00012 } 00013 00014 00016 unsigned char Spi::readData() { 00017 00018 // /* wait for transmission|reception complete */ 00019 // while (!(SPSR & (1<<SPIF))); 00020 // 00021 // /* return data register */ 00022 // return SPDR; 00023 00024 00025 00026 } 00027 00029 void Spi::init() { 00030 00031 // /* Set MOSI and SCK output */ 00032 // DDRB |= (1<<PB5) | (1<<PB7) | (1<<PB4); 00033 // 00034 // /* Set MISO to input */ 00035 // DDRB &= ~(1<<PB6); 00036 } 00037 00039 void Spi::enableSPI() { 00040 /* Enable SPI Mode0, Master, set clock rate fosc/128, MSB first */ 00041 // SPCR = ((1<<SPE) | (1<<MSTR) | (1<<SPR0) | (1<<SPR1)); 00042 } 00043 00045 void Spi::disableSPI() { 00046 /* Enable SPI Mode0, Master, set clock rate fosc/128, MSB first */ 00047 // SPCR &= ~((1<<SPE) | (1<<MSTR) | (1<<SPR0) | (1<<SPR1)); 00048 }