OpenEdv-开源电子网

 找回密码
 立即注册
正点原子全套STM32/Linux/FPGA开发资料,上千讲STM32视频教程免费下载...
查看: 6744|回复: 9

STM32F103ZET6驱动AT45DB161D的程序不能读写,求各位大神指教啊!

[复制链接]

44

主题

225

帖子

0

精华

高级会员

Rank: 4

积分
660
金钱
660
注册时间
2013-11-22
在线时间
131 小时
发表于 2013-12-31 15:59:44 | 显示全部楼层 |阅读模式
 
下面是STM32与AT45DB161D的连接图,基本与战舰板上面的连接一致



详细代码以附件给出,代码不多,就SPI2的初始化和驱动部分,另外就是AT45DB161D的读写函数了。
不知道为什么我在指定地址写入几个字节,然后读回来显示,读回来的老是为0一样的。硬件都检查了几遍没有问题,AT45DB161D也换了2块,读写还是不成功。


fficeffice" />

STM32驱动AT45DB041D代码.doc

38.5 KB, 下载次数: 792

正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

120

主题

7878

帖子

13

精华

资深版主

Rank: 8Rank: 8

积分
12012
金钱
12012
注册时间
2013-9-10
在线时间
427 小时
发表于 2013-12-31 17:06:15 | 显示全部楼层
回复【楼主位】zhp:
---------------------------------
看着没什么问题,你那个检测忙信号那里没看到你选中芯片咦

static void Flash_CheckBusy(void)
{
u8 st;
st=SPI2_ReadWriteByte(0XFF);    -----------------------> 这句改成Flash_ReadStatus()试下
while( (st&BUSY_BIT_MASK)== BUSY_STATUS )
{
st=SPI2_ReadWriteByte(0XFF); --------------------> 这里改成Flash_ReadStatus()
}
}
现在,程序把烂铜烂铁变得智能化了,人呢,一旦离开了这烂铜烂铁就不知道干啥了
回复 支持 反对

使用道具 举报

44

主题

225

帖子

0

精华

高级会员

Rank: 4

积分
660
金钱
660
注册时间
2013-11-22
在线时间
131 小时
 楼主| 发表于 2013-12-31 17:18:03 | 显示全部楼层
哦,那个位置我写错了,改了还是不行哦,我以前用过ATMEGA2560写的程序,可以读写数据,现在是移植以前的程序,SPI的驱动部分(读写字节函数)按照原子哥的实验例程写的,其它都没改,不知道为什么读写不了,好奇怪
回复 支持 反对

使用道具 举报

44

主题

225

帖子

0

精华

高级会员

Rank: 4

积分
660
金钱
660
注册时间
2013-11-22
在线时间
131 小时
 楼主| 发表于 2014-1-2 11:14:19 | 显示全部楼层
回复【2楼】Badu_Space:
回复【楼主位】zhp: --------------------------------- 看着没什么问题,你那个检测忙信号那里没看到你选中芯片咦 static void Flash_CheckBusy(void) { u8 st; st=SPI2_ReadWriteByte(0XFF);    -----------------------> 这句改成Flash_ReadStatus()试下 while( (st&BUSY_BIT_MASK)== BUSY_STATUS ) { st=SPI2_ReadWriteByte(0XFF); --------------------> 这里改成Flash_ReadStatus() } }
---------------------------------
我先擦除一页,然后写入6个字节(0X31,0X32,0X33,0X34,0X35,'\0'),再读回来6个字节,然后通过串口发送出来,都是0X80?
回复 支持 反对

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165524
金钱
165524
注册时间
2010-12-1
在线时间
2116 小时
发表于 2014-1-2 14:22:21 | 显示全部楼层
给你我以前的代码参考下吧.

flash.rar

5.59 KB, 下载次数: 1119

我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺http://openedv.taobao.com
正点原子官方微信公众平台,点击这里关注“正点原子”
回复 支持 反对

使用道具 举报

44

主题

225

帖子

0

精华

高级会员

Rank: 4

积分
660
金钱
660
注册时间
2013-11-22
在线时间
131 小时
 楼主| 发表于 2014-1-2 14:59:07 | 显示全部楼层
回复【5楼】正点原子:
给你我以前的代码参考下吧.
---------------------------------
谢谢原子哥,我好好看下
回复 支持 反对

使用道具 举报

44

主题

225

帖子

0

精华

高级会员

Rank: 4

积分
660
金钱
660
注册时间
2013-11-22
在线时间
131 小时
 楼主| 发表于 2014-1-2 15:04:20 | 显示全部楼层
回复【6楼】zhp:
回复【5楼】正点原子: 给你我以前的代码参考下吧. --------------------------------- 谢谢原子哥,我好好看下
---------------------------------
原子哥,请教您一下,我程序当中用到5个串口中断接收,1个RTC中断,1个定时中断,AT45DB161D的读写没有用到SPI中断,对AT45DB161的读写会不会受到其它中断的影响导致读写不正常的可能?
回复 支持 反对

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165524
金钱
165524
注册时间
2010-12-1
在线时间
2116 小时
发表于 2014-1-2 22:53:43 | 显示全部楼层
回复【7楼】zhp:
---------------------------------
不会.
这种SPI通信完全是主机发起的,中断是不会干扰到SPI通信的.
我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺http://openedv.taobao.com
正点原子官方微信公众平台,点击这里关注“正点原子”
回复 支持 反对

使用道具 举报

44

主题

225

帖子

0

精华

高级会员

Rank: 4

积分
660
金钱
660
注册时间
2013-11-22
在线时间
131 小时
 楼主| 发表于 2014-1-3 09:11:08 | 显示全部楼层
回复【8楼】正点原子:
回复【7楼】zhp: --------------------------------- 不会. 这种SPI通信完全是主机发起的,中断是不会干扰到SPI通信的.
---------------------------------
谢谢原子哥!!
回复 支持 反对

使用道具 举报

10

主题

35

帖子

0

精华

初级会员

Rank: 2

积分
196
金钱
196
注册时间
2015-1-21
在线时间
28 小时
发表于 2016-11-5 15:36:01 | 显示全部楼层
正点原子 发表于 2014-1-2 14:22
给你我以前的代码参考下吧.

AT45DB161读取ID时 dummy_byte的值为什么是0x5A?
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则



关闭

原子哥极力推荐上一条 /2 下一条

正点原子公众号

QQ|手机版|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2025-5-24 23:39

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

快速回复 返回顶部 返回列表