新聞中心

EEPW首頁 > 嵌入式系統(tǒng) > 設計應用 > AVR-SPI總線控制

AVR-SPI總線控制

作者: 時間:2016-11-27 來源:網絡 收藏
設置為從模式:
void spi_init_s()
{
DDRB.6=1; //PB6 - output
DDRB.4=0;
DDRB.5=0;
DDRB.7=0;
SPCR=0XC0;
}
設置為主模式:
void spi_init_m()
{
DDRB.6=0;
DDRB.4=1;
DDRB.5=1;
DDRB.7=1;
SPCR=0x52;
SPSR=0X01;
}
spi發(fā)送數據:
void send_spi(uchar ss)
{
uchar i;
//uchar j;
while(PINB.4==0){;} //PB4 - /ss - chip select signal
spi_init_m();
#asm("cli") //interrupt clear
PORTB.4=0; //PB4 - Output way
delay_ms(1);
for(i=0;i<6;i++)
{
if(ss==1) SPDR=r_data[i];
else if(ss==2) SPDR=r_data2[i]; //ss = 2
#asm("wdr")
while((SPSR&0X80)!=0X80);
}
delay_ms(1);
PORTB.4=1;
#asm("sei")
spi_init_s();
}



關鍵詞: AVRSPI總線控

評論


技術專區(qū)

關閉