社区导航

 
快捷导航
  • 首页
  • 论坛
  • 查看新帖
  • 最新回复
  • 社区活动
  • 联系管理员
  • 消灭零回复
  • E金币兑换
  • 干货
搜索
查看: 2541|回复: 2

[求助] 有关MC9S08DZ系列SPI通讯

[复制链接]

2

TA的帖子

0

TA的资源

一粒金砂(初级)

Rank: 1

发表于 2012-3-31 16:45:09 | 显示全部楼层 |阅读模式

我用的是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



回复

使用道具 举报

8

TA的帖子

0

TA的资源

一粒金砂(中级)

Rank: 2

发表于 2012-4-12 16:11:15 | 显示全部楼层
buffer=SPID;
是不是要改为  buffer=SPID;


回复

使用道具 举报

8

TA的帖子

0

TA的资源

一粒金砂(中级)

Rank: 2

发表于 2012-4-12 16:11:49 | 显示全部楼层
buffer=SPID;


回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

  • 论坛活动 E手掌握

    扫码关注
    EEWORLD 官方微信

  • EE福利  唾手可得

    扫码关注
    EE福利 唾手可得

小黑屋|手机版|Archiver|电子工程世界 ( 京ICP证 060456

GMT+8, 2018-1-22 08:19 , Processed in 0.108886 second(s), 16 queries , Redis On.

快速回复 返回顶部 返回列表