-- spi flash 擦除接口调用HAL库不同函数的区别

【描述】

  在使用STM32F429操作W25Q128时,为验证flash工作正常,做简单的读写数据校验,在擦除接口中使用 HAL_SPI_Transmit 方法一直工作异常,使用 HAL_SPI_TransmitReceive 方法后则正常

 1 void SPI_FLASH_SectorErase(uint32_t SectorAddr)
 2 {
 3     uint8_t txData[4];
 4     
 5     txData[0] = W25X_SectorErase;
 6     txData[1] = (SectorAddr & 0xFF0000) >> 16;
 7     txData[2] = (SectorAddr & 0xFF00) >> 8;
 8     txData[3] = SectorAddr & 0xFF;
 9 
10     SPI_FLASH_WriteEnable();
11     HAL_GPIO_WritePin(W25Q_SPI_CS_GPIO_Port, W25Q_SPI_CS_Pin, GPIO_PIN_RESET);
12 
13 //     HAL_SPI_Transmit(&hspi5, txData, sizeof(txData), 1000000);
14      HAL_SPI_TransmitReceive(&hspi5, txData, NULL, sizeof(txData), 1000000);
15 
16     HAL_GPIO_WritePin(W25Q_SPI_CS_GPIO_Port, W25Q_SPI_CS_Pin, GPIO_PIN_SET);
17 
18     SPI_FLASH_WaitForWriteEnd();
19 }

【分析】

  暂记。。。

原文地址:https://www.cnblogs.com/skullboyer/p/12963818.html