打印

有没有用2410读写93C46的?读不出来数据呢?

[复制链接]
1965|6
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
skylock|  楼主 | 2008-3-26 19:58 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
unsigned int Read(unsigned int Addr)
{
    unsigned int i=0;
    unsigned int iRD;  // RD[8]
    SPI_Transmit(0xc0|Addr);    
    rSPTDAT0 = 0xff;
    while(!(rSPSTA0&0x1));         
    iRD = rSPRDAT0;    
    return iRD;
}

相关帖子

沙发
skylock|  楼主 | 2008-3-27 09:09 | 只看该作者

有没有用2410读写93C46的?读不出来数据呢?

难道没有人做过吗?给提个醒,谢谢啦!

使用特权

评论回复
板凳
twentyone| | 2008-3-27 09:24 | 只看该作者

问题已经解决

记录:

TWENTYONE:
单步运行的时候,AXD应该不会去读取SFR的值的。有一种可能是你打开了内存观察窗口,并且地址空间覆盖了SFR的地址,这样每次AXD都会读取SFR。你把内存观察窗口关闭试一试。
另外,你单步的时候,执行到接收部分的时候,不要单步运行了,在查询后面一点的位置设置一个断点试一试。这样可以保证接收过程是连续执行的。


skylock:
没错我是开着内存观察窗口来着,要不我怎么知道他清0了;也就是说,开窗口也就默认要读SFR值了;不开就没事了,以后还得注意一下!恩!
这个问题我在21IC和你的forum.h-jtag也发过,请不必再回帖了!谢谢


使用特权

评论回复
地板
skylock|  楼主 | 2008-3-27 09:43 | 只看该作者

有没有用2410读写93C46的?读不出来数据呢?

不对呀,即使全速运行,DO管脚也没有任何数据信号出来呀?这不就是表明,读命令无效吗?读出来的数据全部是0xFF,而里面明明已经写的0xAA了,用别的MCU测试过的。

使用特权

评论回复
5
skylock|  楼主 | 2008-3-27 09:50 | 只看该作者

有没有用2410读写93C46的?读不出来数据呢?

rSPCON0=(0<<5)|(1<<4)|(1<<3)|(0<<2)|(0<<1)|(0<<0);//Polling,en-SCK,master,low,A,normal    

SPI选择的查询模式 时钟格式A 是不是这的问题呀?

使用特权

评论回复
6
skylock|  楼主 | 2008-3-27 13:10 | 只看该作者

有没有用2410读写93C46的?读不出来数据呢?

93C46的起始位  1  是否需要放到发送缓冲区里发送,也就是说字节传输操作码就可以了?

使用特权

评论回复
7
skylock|  楼主 | 2008-3-27 17:12 | 只看该作者

有没有用2410读写93C46的?读不出来数据呢?

还没有解决,顶一下

使用特权

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

本版积分规则

13

主题

33

帖子

0

粉丝