有关MC9S08DZ系列SPI通讯

2019-03-26 08:04发布

我用的是MC9S08DZ16芯片和CJ125进行SPI通讯,我将命令存入SPID寄存器,然后等待SPRF位置1,然后读取SPID寄存器值,为什么读到的还是我发送的命令 void init_spi(){ 
  SPIC2=0x10;
  SPIS=0xB0;        
  SPIBR=0x70;
  SPIC1=0x5e;
} void WriteOneChar(uchar dat) {
  while(!SPIS_SPTEF);
  SPID=dat;
} void ReadOneChar(uchar cmd,uchar comdlength) {
  uchar i;
  i=0;
  WriteOneChar(cmd);
  while(i<comdlength){
    WriteOneChar(0x00);
     while(SPIS_SPRF!=1);
  buffer=SPID;
  i++; 
  }
} void main(){
  delay_50ms(2);
  init_spi();
  ReadOneChar(0x6c,1);
  while(1){   
   显示buffer[0]的值   } }
我读到的buffer[0]一直是我发送的6c,也就是108 此帖出自小平头技术问答
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。