51F310读写45DB161,能写不能读咋回事呢?救命啊

[复制链接]
3247|2
 楼主| xusnwise 发表于 2007-6-14 16:24 | 显示全部楼层 |阅读模式
51F310读写45DB161,能写不能读咋回事呢?救命啊.
用示波器看了下波形,发现写的数据是正确的,但读
的时候怎么进不了中断,SCK和MISO一直为高电平,
好象是:  读SPI寄存器不能启动SPI总线;
        *ptr = SPI0DAT(310中的SPI Buffer);
这条语句启动不了SPI,程序就一直死在中断等待上了
我是这样配置SPI的,使用三线方式,MODE 3,
NSS接上拉,MISO接5.1k上拉,频率6MHZ 
   谢谢各位老师教导!
 楼主| xusnwise 发表于 2007-6-14 16:25 | 显示全部楼层

救火车前辈呢,快来救火啊

救火车前辈呢,快来救火啊
古道热肠 发表于 2007-6-15 10:42 | 显示全部楼层

再大喊大叫,谁了帮不了你

  首先你要分清楚是芯片是161或是161B或者161D,再看对应的PDF,一般先读器件状态字,就是发0x57命令,再读1字节设备状态字,通常为0xAC, 再进行下边的测试,如果是161D,还可能读设备ID。
  单片机的SPI总线,读数据是不会出现死循环的,至多读取到的数据的内容不对,自已仔细查查再说吧!
您需要登录后才可以回帖 登录 | 注册

本版积分规则

40

主题

294

帖子

0

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