打印

求助:RC531无法成功复位

[复制链接]
1663|0
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
tzm_008|  楼主 | 2007-9-18 15:16 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
请教开发过531的大虾:
我是用Msp430单片机和RC531开发typeA,I/O口读写用复用地址总线,430的I/O口没有复用功能,按照datasheet上的读写时序模拟的I/O通讯。但是复位总是不能成功,while (((ReadRawIO(RegCommand) & 0x3F) != 0x3F) && !(T2IR))总是因为超时而退出循环,按道理上电和复位位由(高-〉低)后RC531会自动将复位命令(0x3F)加载到Command寄存器中,但是我读Command寄存器读不到3F,而且每次读的值都不同,所以一直超时,复位不成功。不知道是哪里出错了,请大家帮助下小弟,谢了..... 

我想会不会是我的ReadRawIO()函数有问题,这里贴出来希望能给我指出错误,不慎感激.
unsigned char  ReadRawIO(unsigned char Address)

  unsigned char c;
  P5DIR = 0xFF;    //设置P5口为输出状态
  ALE_High();      //地址锁存
  NCS_High();
  NRD_High(); 
  P5OUT = Address; //将地址放在总线上
  
  
  
  P5DIR = 0x00;    //设置P5口为输入状态
  ALE_Low();        
  NCS_Low();
  NRD_Low(); 
  c = P5IN ;       //取总线上的数据
  
  NRD_High();
  NCS_High();
  _NOP();          //准备下一次操作
  _NOP();
  
  return c;
  
}

相关帖子

发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

4

主题

7

帖子

1

粉丝