OpenEdv-开源电子网

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

SPI FLASH(W25Q128) 一次性写入的最大字节数是65535?

[复制链接]

36

主题

98

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
230
金钱
230
注册时间
2016-3-26
在线时间
83 小时
发表于 2016-3-26 09:44:20 | 显示全部楼层 |阅读模式
1金钱



以下是示例中的代码


//4Kbytes为一个Sector
//16个扇区为一个Block
//W25Q128
//容量为16M字节,共有128个Block,4096个Sector


//写SPI FLASH  
//pBuffer:数据存储区
//WriteAddr:开始写入的地址(24bit)                                               
//NumByteToWrite:要写的字节数(最大65535)
#if W25QXX_USE_MALLOC==0
u8 W25QXX_BUFFER[4096];                 
#endif
void W25QXX_Write(u8* pBuffer,u32 WriteAddr,u32 NumByteToWrite)   
{


}

这里说的是一次性最大只能写入65535个字节,即一个Block。
1.为什么一次只能写入一个BLock?
2.我试过一次性写入超过65535个字节,写入也是正常的,这是为什么?





最佳答案

查看完整内容[请看2#楼]

决定写入数据是多少的,是NumByteToWrite的数据类型。我们以前应该是u16的,所以才有65535之说。如果是u32的,自己计算。
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165371
金钱
165371
注册时间
2010-12-1
在线时间
2110 小时
发表于 2016-3-26 09:44:21 | 显示全部楼层
决定写入数据是多少的,是NumByteToWrite的数据类型。我们以前应该是u16的,所以才有65535之说。如果是u32的,自己计算。
回复

使用道具 举报

36

主题

98

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
230
金钱
230
注册时间
2016-3-26
在线时间
83 小时
 楼主| 发表于 2016-3-26 09:46:39 | 显示全部楼层
新人贴,自己顶一个 !!!
回复

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165371
金钱
165371
注册时间
2010-12-1
在线时间
2110 小时
发表于 2016-3-26 12:22:00 | 显示全部楼层
楼主,你一步只能走不到1m,要你走2000米,怎么办啊。。。好难啊。。。
回复

使用道具 举报

36

主题

98

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
230
金钱
230
注册时间
2016-3-26
在线时间
83 小时
 楼主| 发表于 2016-3-26 12:54:00 | 显示全部楼层
正点原子 发表于 2016-3-26 09:44
决定写入数据是多少的,是NumByteToWrite的数据类型。我们以前应该是u16的,所以才有65535之说。如果是u32 ...

额,明白了。每次写入的buffer  是指buffer ,而不是整个数组。
但是你那个65535  应该是一个block的大小  4kB*16 = 65536bytes  ,这和数据类型是u16还是 u32没有关系吧。
回复

使用道具 举报

36

主题

98

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
230
金钱
230
注册时间
2016-3-26
在线时间
83 小时
 楼主| 发表于 2016-3-26 12:54:26 | 显示全部楼层
是指buffer [ i ]
回复

使用道具 举报

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

本版积分规则



关闭

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

正点原子公众号

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

GMT+8, 2025-2-26 15:41

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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