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",
"board": "esp32:esp32:esp32s3",
"sketch": "spi_test.ino",
"port": "COM10",
"programmer": "esp32:esptool"
"port": "COM10"
}

View File

@ -7,6 +7,10 @@ void setup() {
Serial.setRxBufferSize(256);
Serial.onReceive(SerialRe,true);
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);
}

View File

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

View File

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