本帖最后由 muzisanpi 于 2018-8-16 11:22 编辑
我指的是软件存储/回读,不是断电自动存储、上电自动回读,最近因为项目原因,需要用到这方面的功能,按照说明书上的这方面的介绍,依次读取了六个地址序列,但实现不了软件存储与回读的功能,有没有朋友有这方面的经验,能不能分享下代码?拜谢!
我用的是CY14B101LA(其实大多数NVSRAM芯片的软件存储/回读的操作步骤都是一样的),附上电路图与相应部分的程序,求大佬们解惑!
在主函数中,我对SRAM写了第一个数组(已经验证写进去了),并对第一个数组进行了软件存储操作,然后在SRAM中写了第二个数组(已经验证写进去了),随后调用软件回读函数,再读取SRAM中的数值,得到的却是第二个数组,说明软件存储/回读操作根本就没有产生作用。
我自己也检查了原因,首先STM32与CY14B101LA是通过FMC连接的,FMC的配置是没有问题的,因为它可以正常读写,然后CY14B101LA的断电自动存储、上电自动回读是没问题的,已经验证过,其次,根据说明书上写的,软件存储操作中,“在输入地址序列中第六个地址后,将立即开始存储周期,并且芯片将被禁用。HSB 被驱动为低电平。经过 tSTORE 周期时长后,再次激活SRAM,以进行读和写操作”,但通过我用示波器抓取波形,发现在读取他给出的地址序列时,读取前后,HSB引脚一直为高电平,我觉得问题在这里。
求大佬们帮帮忙啊,这个问题困扰了我好几天了。
|