OpenEdv-开源电子网

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

求助 SPI

[复制链接]
头像被屏蔽

95

主题

158

帖子

0

精华

禁止访问

积分
456
金钱
456
注册时间
2011-10-12
在线时间
7 小时
发表于 2011-11-30 16:53:23 | 显示全部楼层 |阅读模式
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165371
金钱
165371
注册时间
2010-12-1
在线时间
2110 小时
发表于 2011-11-30 18:08:28 | 显示全部楼层
有这么难理解嘛?
就是往指定地址写入一个数据.
你得先了解25X16的特性.这种芯片的写,只能写0,不能写1.所以你要改变某个地址的值为你想要的,你先得把这个地址的值设置为0XFF,而0XFF只能由擦除指令来实现,而擦除的最小单位为4096个字节,所以你要往一个指定地址(A)写入一个指定数据(B),大致过程如下:
1,读取A,判断A是否为0XFF.
2,如果是,直接写入B.
3,如果不是,先找到A所在的扇区
4,读取整个扇区的内容.在sram里面操作,修改A对应的值为B
5,擦除A所在的扇区.
6,把读取出来的扇区数据,写回W25X16.
7,结束.
我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺http://openedv.taobao.com
正点原子官方微信公众平台,点击这里关注“正点原子”
回复 支持 反对

使用道具 举报

头像被屏蔽

95

主题

158

帖子

0

精华

禁止访问

积分
456
金钱
456
注册时间
2011-10-12
在线时间
7 小时
 楼主| 发表于 2011-12-1 08:46:47 | 显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽
回复 支持 反对

使用道具 举报

头像被屏蔽

95

主题

158

帖子

0

精华

禁止访问

积分
456
金钱
456
注册时间
2011-10-12
在线时间
7 小时
 楼主| 发表于 2011-12-1 10:14:37 | 显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽
回复 支持 反对

使用道具 举报

头像被屏蔽

95

主题

158

帖子

0

精华

禁止访问

积分
456
金钱
456
注册时间
2011-10-12
在线时间
7 小时
 楼主| 发表于 2011-12-1 12:57:04 | 显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽
回复 支持 反对

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165371
金钱
165371
注册时间
2010-12-1
在线时间
2110 小时
发表于 2011-12-1 13:41:29 | 显示全部楼层
回复【5楼】gongzaijun:
---------------------------------
再仔细看看代码吧.
我前面写的是不换扇区的情况,而当你写入多个字节,涉及到换扇区的时候,情况变得复杂一点了,所以需要考虑更多的问题.
我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺http://openedv.taobao.com
正点原子官方微信公众平台,点击这里关注“正点原子”
回复 支持 反对

使用道具 举报

头像被屏蔽

95

主题

158

帖子

0

精华

禁止访问

积分
456
金钱
456
注册时间
2011-10-12
在线时间
7 小时
 楼主| 发表于 2011-12-1 14:23:03 | 显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽
回复 支持 反对

使用道具 举报

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

本版积分规则



关闭

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

正点原子公众号

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

GMT+8, 2025-2-24 14:01

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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