求助:RC531无法成功复位

[复制链接]
 楼主| 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

粉丝
快速回复 在线客服 返回列表 返回顶部