在测试F4的SPI(W25Q128) 实验的时候遇上了点麻烦。
我有两个问题,
①为什么FLASH_SIZE=128*1024*1024;,不应该是FLASH_SIZE=16*1024*1024;么?
②经过测试,我试了两种数据量,当1083个字节时完全没有问题,可是传输量到达1571的时候出问题,写不进去(不提示W25Q128 Write Finished!),当然这两个数字不是固定的,应该是超过了某一个临界值导致这个问题。然后我打开以前F1的例程,发现区别在于W25QXX_Write函数,F1下没有定义新的U8*,如下图:
因为F1的例程只有4096的数组,然后我就尝试F4的例程也就是上面例程的U8*去掉直接用4096的数组作为地址。然后一切正常。
测试过程中出现了问题,我就用printf打印如下:
第一个prinf正常,第二个无语了,是一个负的很大很大的数,完全超过了65535,我知道这里就完全超出了我的知识范围,请大神赐教。我觉得这是个很严重的问题,根本上制约了向W25Q128里写大容量数据。
解决了上面的问题后我尝试些3141个数据,完全写不进去。
printf根本不执行。但是测试W25QXX_Read可以执行到最后一行。缩小数据量就可以。
我觉得还是请原子哥重新测试一下这个程序的大数据量传输吧。
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
我也比较好奇为啥FLASH_SIZE为128*1024*1024时,FLASH_SIZE-100的地址不是超出W25Q128的范围了么,为啥正常正常呢?
一周热门 更多>