×
单片机 > 单片机程序设计 > 详情

AVR-SPI总线控制

发布时间:2020-06-04 发布时间:
|
设置为从模式:
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();
}



『本文转载自网络,版权归原作者所有,如有侵权请联系删除』

热门文章 更多
51单片机CO2检测显示程序解析