Пн июл 16, 2012 12:26:08
int i;
unsigned char temp = 0x80; //(1<<7); SPIF
PORT_SPI=(1<<DD_SS); //PORTB
DDR_SPI = (1<<DD_MOSI)|(1<<DD_SCK)|(1<<DD_SS); //DDRB
SPCR = (1<<SPE)|(1<<MSTR)|(1<<SPR0);
//запись в буфер
PORTB &= ~(1<<4); //SS=0
SPDR = 0x84; //опкод записи в буфер 1
while (!(SPSR & temp));
SPDR =0; //не имеет значения
while (!(SPSR & temp));
SPDR =0; // не имеет значения
while (!(SPSR & temp));
SPDR =0; // адрес в буфере
while (!(SPSR & temp));
SPDR =0b00001111; //данные
while (!(SPSR & temp));
PORTB |= (1<<4); //SS=1
//чтение из буфера
PORTB &= ~(1<<4); // SS=0
SPDR = 0x54; //опкод чтение из буфера 1
while (!(SPSR & temp));
SPDR =0; // не имеет значения
while (!(SPSR & temp));
SPDR =0; // не имеет значения
while (!(SPSR & temp));
SPDR =0; // не имеет значения
while (!(SPSR & temp));
SPDR =0; // адрес в буфере
while (!(SPSR & temp));
SPDR =0x00; // не имеет значения
while (!(SPSR & temp));
i=SPDR; //чтение
PORTB |= (1<<4); // SS=1
Пн июл 16, 2012 18:20:48
Вт июл 17, 2012 12:06:56
SPCR = (1<<SPE) | (1<<MSTR)| (1<<CPOL) | (1<<CPHA);
Вт июл 17, 2012 13:15:53
Вт июл 17, 2012 15:32:50
Вт июл 17, 2012 17:31:43
Ср июл 18, 2012 17:34:21
Чт июл 19, 2012 05:32:07
Чт июл 19, 2012 10:37:49
Пт июл 20, 2012 09:41:14
Сб июл 21, 2012 20:37:13