spi flash偶尔出现写入错误的情况

Posted prayer521

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了spi flash偶尔出现写入错误的情况相关的知识,希望对你有一定的参考价值。

spi flash W25Q128会偶尔出现写入错误的情况,会发现读出的值和写入的值不一致,需加入2次读出比较判断。

W25QXX_Read(&temp_date_count,0x000000,1);
	//W25QXX_Write((u8*)&temp_date,0x400000,135);
	//W25QXX_Read((u8*)&temp_data_test,0x400000,135);

	W25QXX_Write((u8*)&temp_date,(temp_date_count*135+1),135);
	W25QXX_Read((u8*)&temp_data_test,(temp_date_count*135+1),135);
	if(memcmp(&temp_date,&temp_data_test,135)!=0)
	{
		W25QXX_Write((u8*)&temp_date,(temp_date_count*135+1),135);
		W25QXX_Read((u8*)&temp_data_test,(temp_date_count*135+1),135);
		if(memcmp(&temp_date,&temp_data_test,135)!=0)
		{
			W25QXX_Write((u8*)&temp_date,(temp_date_count*135+1),135);
		}
	}
	temp_date_count=temp_date_count+1;//Each time a structure is written
	if(temp_date_count==60) 
	{
		temp_date_count=0;
	}
	W25QXX_Write(&temp_date_count,0,1);

  

以上是关于spi flash偶尔出现写入错误的情况的主要内容,如果未能解决你的问题,请参考以下文章

小马哥四轴代码解读-SPI-flash篇

SPI FLASH与NOR FLASH的区别?

SPI FLASH与NOR FLASH的区别?

STM32 Flash 写入导致多个 HardFault 错误

STM32单片机如何利用SPI接口外扩SRAM芯片

spi nor flash使用汇总