有关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 此帖出自小平头技术问答
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
2条回答
quilt1120p
1楼-- · 2019-03-26 13:11
buffer=SPID;
是不是要改为  buffer=SPID;
quilt1120p
2楼-- · 2019-03-26 16:46
buffer=SPID;

一周热门 更多>