решил создать WAV проигрыватель на ATtiny85. Сам wav файл закидываю во внешнею eeprom AT25P1024. Она работает по протоколу SPI, но так как мой МК не подерживает хардварно этот протокол, решил сделать его софтварно. Но тут и вся загвоздка...в инете ничего толкового не нашёл. Даже написал пару строк, вроде чтото отправляется, но как получать???
Если вам не трудно и есть какие-то соображения поделитесь очень прошу...уже неделю снятся кошмары про SPI
#include <avr/io.h>
#include "util/delay.h"
uint8_t recieve;
uint8_t spi_transfer(uint8_t data) {
USIDR = data;
USISR = _BV(USIOIF); // clear flag
while ( (USISR & _BV(USIOIF)) == 0 ) {
USICR = (1<<USIWM0)|(1<<USICS1)|(1<<USICLK)|(1<<USITC);
}
return USIDR;
}
void port_init(void)
{
DDRB |= _BV(PB1); // as output (DO)
DDRB |= _BV(PB2); // as output (USISCK)
DDRB &= ~_BV(PB0); // as input (DI)
PORTB |= _BV(PB0); // pullup on (DI)
}
int main(void)
{
port_init();
while (1)
{
recieve = spi_transfer(0x03);
};
return 0;
}


