我用STM32F030C8外接w25q16做项目,程序开始前我调试过代码能读取到W25Q16的id值表示焊接没出错。然后我要输入的数据比较多大概81个数字为一个组,共有10个组,而W25Q16每块只能存256个数字(0xff),为了不让数字中断也为了超找方便,我将十个组分成4分(3331),使用“void W25QXX_Write_Page(uint8_t* pBuffer,uint32_t WriteAddr,uint16_t NumByteToWrite)”函数,然后使用“void W25QXX_Read(uint8_t* pBuffer,uint32_t ReadAddr,uint16_t NumByteToRead)”读取数据。之后我发现两个问题:1读取的时候我只能从每个块的首地址开始往后读,不能使用页地址读。2每次读取的时候第一个和第二个数据都时255.
按资料图所说,w25q16应该有63块,每块有256页,每页存一个数据才对,那我应该可以按照页地址读写数据才对,如果我有错,请问要如何才能按照页地址读写数据
我按照块的首地址读写(81*3 = 243)数据的时候,读写形参中的WriteAddr 和 ReadAddr都是0x000000,比如写入数据数据 mcu_w25q16_bufff[243] = {0,1,2,3,--------- 7,8,9};那么读出数据就是
w25q16_mcu_buff[243] = {0xff,0xff,0,1,2,3,---------7};数组扩大的画w25q16_mcu_buff[246] = {0xff,0xff,0,1,2,3----------7,8,9,0xff};
|