This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

2812 spi slave

void InitSpi(void)
{
  EALLOW;
  //spi
  GpioMuxRegs.GPFMUX.bit.***=1;
  GpioMuxRegs.GPFMUX.bit.SPISIMOA_GPIOF0=1;
  GpioMuxRegs.GPFMUX.bit.SPISOMIA_GPIOF1=1;
  GpioMuxRegs.GPFMUX.bit.SPISTEA_GPIOF3=1;
     EDIS;

 // Initialize SPI-A:
   SpiaRegs.***.all=0x07;   
   SpiaRegs.***.all=0x01;   
   SpiaRegs.SPIBRR=24;   
   SpiaRegs.SPISTS.all=0;      
   SpiaRegs.SPIPRI.bit.FREE=1;
   SpiaRegs.***.all=0x87;
 //tbd...
}

void main()
{
 uchar j=0;
 InitSysCtrl();
 DINT;
 IER=0x0000;
 IFR=0x0000;
 InitPieCtrl();
 InitPieVectTable();
 InitPeripherals();
 InitGpio();
 EINT;
 ERTM;
 j=0;
 SpiaRegs.SPISTS.all=0;
 while(1)
 {
  while(SpiaRegs.SPISTS.bit.INT_FLAG==0);
  if(SpiaRegs.SPIRXBUF==0x1122)
   sp_flag=1;
  if(sp_flag==1)
  {
   sp_data[j++]=SpiaRegs.SPIRXBUF;
   if(j==5)
   {
     j=0;sp_flag=0;
   }
  }
 } 
}

spist=0x00c0; 老是溢出怎么回事

接收波形