你的浏览器版本过低,可能导致网站不能正常访问!
为了你能正常使用网站功能,请使用这些浏览器。

FM25CL64使用问题

[复制链接]
水滴石穿 提问时间:2019-7-30 15:06 /
向FM25CL64芯片写入数据时会覆盖前面写入的数据
  1. value[5] = {7,9,10,8,6};
复制代码
  1. fm25cl64_MemoryWrite(dev,0x0000,&value[0],20);
复制代码
这样可以从0x0000地址写入5个数据,最后一个数据占用的起始地址为0x10
  1. fm25cl64_MemoryWrite(dev,0x0010,&value[1],4);
复制代码

想要单独改变0x10起始地址的存储数据,结果是0x0000起始地址对应的存储数据被改变了

只有一份英文文档,自己也没怎么看明白,想请教一下这个芯片具体用法


FM25CL64_Datasheet.PDF

下载

145.71 KB, 下载次数: 11, 下载积分: ST金币 -1

英文数据手册

收藏 评论3 发布时间:2019-7-30 15:06

举报

3个回答
STMWoodData 回答时间:2019-7-30 17:07:30
提示: 作者被禁止或删除 内容自动屏蔽
水滴石穿 回答时间:2019-7-30 17:49:26
流水源 发表于 2019-7-30 17:07
FM25CL64与FM25CL16、08、04、02,不同的地方就是地址有2个字节,你看是不是这个原因。看你写入函数的代码 ...
  1. rt_err_t fm25cl64_MemoryWrite(fm25cl64_t device,rt_uint16_t addr,void *data,rt_size_t length)
  2. {
  3.         rt_uint8_t cmd[5] = {WREN,WRITE,addr>>8,addr&0x0f,WRDI};
  4.         rt_spi_send(device->parent,&cmd[0],1);//先发送写使能
  5.         rt_spi_send_then_send(device->parent,&cmd[1],3,data,length);//发送写命令和地址,接着发数据
  6.         rt_spi_send(device->parent,&cmd[4],1);//最后发送写失能
  7.         return RT_EOK;
  8. }
复制代码

水滴石穿 回答时间:2019-7-30 18:12:23
流水源 发表于 2019-7-30 17:07
FM25CL64与FM25CL16、08、04、02,不同的地方就是地址有2个字节,你看是不是这个原因。看你写入函数的代码 ...

谢谢提醒!确实是我的地址处理出的问题
  1. rt_uint8_t cmd[5] = {WREN,WRITE,addr>>8,addr&0x0f,WRDI};
复制代码

其中
  1. addr&0x0f
复制代码
反了

所属标签

相似问题

关于意法半导体
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
招聘信息
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
关注我们
st-img 微信公众号
st-img 手机版