打印
[其他ST产品]

SPI DataFlash 求助

[复制链接]
2755|4
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
geokey|  楼主 | 2007-4-13 16:33 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
我用的是STR750,DATAFLASH是AT45DB081B,下面是我的读DATAFLASH状态寄存器的子程序
unsigned char SPI_Flash_ST_REG_READ()
{
 unsigned int i,t;
 SSP0->DR=STATUS_REGISTER_READ;
 SSP0->DR=0x00;
 i=SSP0->DR;
 return i; 
}
通过示波器看到MOSI输出为D700,MISO输出为00A4;
但是返回值一直是0,这是怎么回事呢?请哪位大虾帮我看看
沙发
浪淘沙| | 2007-4-13 17:28 | 只看该作者

读SSP_DR之前,为什么不先读SSP_SR以确定收到了数据?

另外,你的SSP0->DR是否声明为volatile?

使用特权

评论回复
板凳
geokey|  楼主 | 2007-4-13 21:27 | 只看该作者

是ST的库函数

我用的是ST提供的库函数,

使用特权

评论回复
地板
浪淘沙| | 2007-4-14 09:47 | 只看该作者

SPI读写Dataflash

首先,确认你使用的函数库是最新的;其次,你上面给出的程序并没有调用任何库里的函数;第三,即使使用库中定义的变量类型,在你说明变量实体时应使用分配描述符volatile,函数库中不负责分配变量。

使用特权

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

本版积分规则

22

主题

55

帖子

0

粉丝