中级会员
 
- 积分
- 402
- 金钱
- 402
- 注册时间
- 2014-8-15
- 在线时间
- 0 小时
|
5金钱
在测试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可以执行到最后一行。缩小数据量就可以。
我觉得还是请原子哥重新测试一下这个程序的大数据量传输吧。 |
最佳答案
查看完整内容[请看2#楼]
回复【2楼】Austin:
---------------------------------
这里有误,确实应该是16*1024*1024才对。
|