本人现负责的一个项目用到ATMEL的DATAFLASH --AT45DB642,我是用单片机SPI0来读写FLASH的,要往AT45DB642里写7万多个数(十六进制8bits),我使用通过BUFFER1到主存页编程命令0X82
现在测试发现总是出现这样的错误,我写7万个数,每写一页(1056个数)然后使能置高,等待40ms再继续传下一页,写完后会在某些页最后的32个数错。70多页会有十几页出错,而且出错的页不确定。
我的初步分析是: 1 配置没有问题。我没有配置过, AT45DB642默认是每页1056个。应该不会是这里的错。
2 我先写入数据再读出,应该不是读的问题,因为有时候写一次我会读出好几次,读出的数据是一模一样的,所以应该读的没错,是写的问题。
实在不知道问题出现在哪儿了,请用过AT45DB642的大侠们指点一下~~谢谢 |