Чт сен 20, 2018 22:18:10
(DDRB=(0<<DDB7) | (0<<DDB6) | (1<<DDB5) | (0<<DDB4) | (1<<DDB3) | (1<<DDB2) | (0<<DDB1) | (0<<DDB0);
.....
// SPI initialization
// SPI Type: Master
// SPI Clock Rate: 250,000 kHz
// SPI Clock Phase: Cycle Start
// SPI Clock Polarity: Low
// SPI Data Order: MSB First
SPCR=(0<<SPIE) | (1<<SPE) | (0<<DORD) | (1<<MSTR) | (0<<CPOL) | (0<<CPHA) | (0<<SPR1) | (0<<SPR0);
SPSR=(0<<SPI2X);
....
SPDR=0xAA;
data=SPDR;
PORTD=data;
Чт сен 20, 2018 22:46:35
prw07 писал(а):Записываю в SPDR данные (ну типа получил их от другого устройства) и тутже хочу их перенести в другой порт через переменную.
Пт сен 21, 2018 06:42:51
Пт сен 21, 2018 08:20:17
Сб сен 29, 2018 11:18:29
Пн окт 15, 2018 12:47:52
uint8_t SPI_send(uint8_t data){
SPDR = data;
while( !(SPSR & (1<<SPIF))){} //ни в коем случае не (1<<7)! Для пустого тела цикла не ставьте точку с запятой, это чревато ошибками. Либо пустые скобки как у меня, либо continue;
return SPDR;
}
...
uint8_t temp = SPI_send(0); //принимаем данные
SPI_send( temp ); //передаем то что принято
SPI_send( data );
SPI_send( data );
Пн окт 15, 2018 12:55:31