打印

请教模拟SPI读93C46的问题

[复制链接]
1964|6
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
lilyzz2000|  楼主 | 2011-10-31 16:21 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
请教高手,为什么读93C46的数据时,检测不到DO位虚0的时候,DO始终是高电平,读函数返回的值一直是0XFFFF.两天都没找出问题所在,请大家赐教。谢谢。
uint read(uchar add)
{
uchar i;
uint rtemp;
CS=1;
comm(0x01);
comm(add|0x80);
RBPU=0;//开启RB5上拉,DO为RB5
TRISB5=1;
CS=1;
while(DO)
{
  CLK=0;CLK=1;
}
for(i=0;i<16;i++)
{
  CLK=0;
  NOP();
  rtemph=rtemph<<1;
  if(DO) rtemph|=0x01;
  CLK=1;
  NOP();NOP();
}
CS=0;
return(rtemph);
}
沙发
lilyzz2000|  楼主 | 2011-10-31 23:00 | 只看该作者
读数据开始没有DO=0的情况,所以读出来都是0XFFFF,什么原因,请赐教。

使用特权

评论回复
板凳
asspeed| | 2011-11-1 09:03 | 只看该作者
写的乱七八糟。如果不知道如何模拟微线协议,去Microchip网站上查AN993,AN1020...

使用特权

评论回复
地板
yewuyi| | 2011-11-2 12:21 | 只看该作者
呵呵,一般都不愿意看,SPI都要标准范例代码,自己去网络上查吧

使用特权

评论回复
5
谈的元| | 2011-11-2 18:50 | 只看该作者
有使能等命令。看看文档吧

使用特权

评论回复
6
lilyzz2000|  楼主 | 2011-11-4 16:54 | 只看该作者
谢谢,那看看文档再讨论

使用特权

评论回复
7
xaq79| | 2011-11-15 11:12 | 只看该作者
按照SPI规范做就是了,别人看你程序很头疼的

使用特权

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

本版积分规则

0

主题

12

帖子

1

粉丝