您的位置 首页 方案

AVR-SPI总线操控

设置为从模式:voidspi_init_s(){DDRB6=1;PB6-outputDDRB4=0;DDRB5=0;DDRB7=0;SPCR=0XC0;}设置为主模式:voidspi_init_m()

设置为从形式:

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”) //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();
}

声明:本文内容来自网络转载或用户投稿,文章版权归原作者和原出处所有。文中观点,不代表本站立场。若有侵权请联系本站删除(kf@86ic.com)https://www.86ic.net/fangan/257515.html

为您推荐

联系我们

联系我们

在线咨询: QQ交谈

邮箱: kf@86ic.com

关注微信
微信扫一扫关注我们

微信扫一扫关注我们

返回顶部