new file: .vscode/arduino.json

modified:   src/W25QXXArduino/w25qxx.cpp
	modified:   src/W25QXXArduino/w25qxx.h
second
YUNLEI 2022-08-31 14:46:26 +08:00
parent 07b33f32ec
commit 83b1342093
3 changed files with 33 additions and 0 deletions

5
.vscode/arduino.json vendored Normal file
View File

@ -0,0 +1,5 @@
{
"configuration": "PSRAM=disabled,PartitionScheme=default,CPUFreq=240,FlashMode=qio,FlashFreq=80,FlashSize=4M,UploadSpeed=921600,LoopCore=1,EventsCore=1,DebugLevel=none",
"board": "esp32:esp32:esp32",
"sketch": "spi_test.ino"
}

View File

@ -259,6 +259,33 @@ void W25QXX_Write_Page(uint8_t* pBuffer,uint32_t WriteAddr,uint16_t NumByteToWri
W25QXX_CS1; //取消片选
W25QXX_Wait_Busy(); //等待写入结束
}
/**
* @brief 256.
*
* @param pBuffer 256
* @param WriteAddr flash
* @return uint8_t 10
*/
uint8_t W25QXX_Write_Page_Only(uint8_t* pBuffer,uint16_t WriteAddr){
uint16_t i;
if ((WriteAddr%256)!=0){
return 1; //要写入的地址不是页首地址就直接返回
}
W25QXX_Write_Enable(); //SET WEL
W25QXX_CS0; //使能器件
SPI1_ReadWriteByte(W25X_PageProgram); //发送写页命令
if(W25QXX_TYPE==W25Q256) //如果是W25Q256的话地址为4字节的要发送最高8位
{
SPI1_ReadWriteByte((uint8_t)((WriteAddr)>>24));
}
SPI1_ReadWriteByte((uint8_t)((WriteAddr)>>16)); //发送24bit地址
SPI1_ReadWriteByte((uint8_t)((WriteAddr)>>8));
SPI1_ReadWriteByte((uint8_t)WriteAddr);
SPI.writeBytes(pBuffer,256); //写256个数据
W25QXX_CS1; //取消片选
W25QXX_Wait_Busy(); //等待写入结束
return 0;
}
//无检验写SPI FLASH
//必须确保所写的地址范围内的数据全部为0XFF,否则在非0XFF处写入的数据将失败!
//具有自动换页功能

View File

@ -89,3 +89,4 @@ void W25QXX_Erase_Sector(uint32_t Dst_Addr); //
void W25QXX_Wait_Busy(void); //µÈ´ý¿ÕÏÐ
void W25QXX_PowerDown(void); //½øÈëµôµçģʽ
void W25QXX_WAKEUP(void); //»½ÐÑ
uint8_t W25QXX_Write_Page_Only(uint8_t* pBuffer,uint16_t WriteAdd);