Compare commits

..

No commits in common. "f8b55940efd839e0463c6b64617c4a724264c0e6" and "2f534b4f8738d1c1b6e49bc863253da7909c07e0" have entirely different histories.

4 changed files with 27 additions and 24 deletions

View File

@ -2,6 +2,5 @@
"configuration": "PSRAM=disabled,FlashMode=qio,FlashSize=4M,LoopCore=1,EventsCore=1,USBMode=hwcdc,CDCOnBoot=default,MSCOnBoot=default,DFUOnBoot=default,UploadMode=default,PartitionScheme=min_spiffs,CPUFreq=240,UploadSpeed=921600,DebugLevel=none", "configuration": "PSRAM=disabled,FlashMode=qio,FlashSize=4M,LoopCore=1,EventsCore=1,USBMode=hwcdc,CDCOnBoot=default,MSCOnBoot=default,DFUOnBoot=default,UploadMode=default,PartitionScheme=min_spiffs,CPUFreq=240,UploadSpeed=921600,DebugLevel=none",
"board": "esp32:esp32:esp32s3", "board": "esp32:esp32:esp32s3",
"sketch": "spi_test.ino", "sketch": "spi_test.ino",
"port": "COM10", "port": "COM10"
"programmer": "esp32:esptool"
} }

View File

@ -7,6 +7,10 @@ void setup() {
Serial.setRxBufferSize(256); Serial.setRxBufferSize(256);
Serial.onReceive(SerialRe,true); Serial.onReceive(SerialRe,true);
W25QXX_Init(); W25QXX_Init();
W25QXX_Write((uint8_t*)"my name is lei kkk",1000,strlen("my name is lei yun"));
W25QXX_Read(table,1001,strlen("my name is lei yun"));
// Serial.printf("%04X\n",W25QXX_TYPE);
Serial.printf("%s\n",table);
delay(3000); delay(3000);
} }

View File

@ -45,10 +45,10 @@ void SPI1S_Init(void){
#ifdef FLASH_TEST_ENABLE #ifdef FLASH_TEST_ENABLE
/* readwrite test */ /* readwrite test */
int g = 0; int g = 0;
uint8_t str[512]; uint8_t str[1280];
memset(str, 0, sizeof(str)); memset(str, 0, sizeof(str));
unsigned int j = 0; unsigned int j = 0;
for(int k=0; k < 2; k++) for(int k=0; k < 5; k++)
{ {
for(int i = 0; i < 256; i++) for(int i = 0; i < 256; i++)
{ {
@ -60,10 +60,7 @@ void SPI1S_Init(void){
Serial.println("-----write data-------"); Serial.println("-----write data-------");
W25QXX_CS0; W25QXX_CS0;
W25QXX_Erase_Sector(0x00); W25QXX_Erase_Sector(0x00);
for (uint8_t i = 0; i < 2; i++) W25QXX_Write(str,0x10,256);
{
W25QXX_Write(&str[256*i],256*i,256);
}
memset(str, 0, sizeof(str)); memset(str, 0, sizeof(str));
W25QXX_Read(str,0x00,512); W25QXX_Read(str,0x00,512);
W25QXX_CS1; W25QXX_CS1;
@ -72,9 +69,13 @@ void SPI1S_Init(void){
if(g == 16){ if(g == 16){
Serial.println("|"); Serial.println("|");
if(k % 256 == 0) Serial.println("---------------"); if(k % 256 == 0) Serial.println("---------------");
g = 1; {
g = 1;
}
}
else {
g++;
} }
else g++;
Serial.printf("%02X ", str[k]); Serial.printf("%02X ", str[k]);
} }
#endif #endif
@ -93,16 +94,15 @@ uint8_t SPI1_ReadWriteByte(uint8_t TxData)
return Rxdata; return Rxdata;
#endif #endif
#ifdef SOFTWARE_SPI #ifdef SOFTWARE_SPI
for(uint8_t i = 0; i < 8; i++) { uint8_t i = 0, Rxdata = 0;
uint8_t status; for(i = 0; i < 8; i++)
status = TxData & (0x80 >> i); {
digitalWrite(NORFLASH_MOSI_PIN, status); digitalWrite(NORFLASH_CLK_PIN, HIGH);
digitalWrite(NORFLASH_CLK_PIN, LOW); digitalWrite(NORFLASH_CLK_PIN, LOW);
digitalWrite(NORFLASH_CLK_PIN, HIGH); if(digitalRead(NORFLASH_MISO_PIN))
{
if(digitalRead(NORFLASH_MISO_PIN)) { Rxdata |= 0x80 >> i;
Rxdata |= 0x80 >> i; }
}
} }
return Rxdata; return Rxdata;
#endif #endif

View File

@ -49,12 +49,12 @@ extern uint16_t W25QXX_TYPE; //
////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////
//SPI相关设定 //SPI相关设定
#define SPI_FREQUENCY 30*1000000 //SPI时钟频率硬件SPI使用 #define SPI_FREQUENCY 30*1000000 //SPI时钟频率硬件SPI使用
// #define HARDWARE_SPI //使用硬件SPI #define HARDWARE_SPI //使用硬件SPI
#define SOFTWARE_SPI //使用软件SPI // #define SOFTWARE_SPI //使用软件SPI
#define FLASH_TEST_ENABLE //使能测试 // #define FLASH_TEST_ENABLE //使能测试
////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////////////
//指令表 //指令表
#define W25X_WriteEnable 0x06 #define W25X_WriteEnable 0x06
#define W25X_WriteDisable 0x04 #define W25X_WriteDisable 0x04