新闻中心

EEPW首页>嵌入式系统>设计应用> 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发送数据:
void send_spi(uchar ss)
{
uchar i;
//uchar j;
while(PINB.4==0){;} //PB4 - /ss - chip select signal
spi_init_m();
#asm("cli") // interruptclear
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总线控

评论


技术专区

关闭