2026-01-31 5:44 AM
I am using an STM32L433 with a W25Q128JVSIQ flash.
I can read and write data but the W25Q does not seem to respond to the power down command.
When I send the power down command 0xB9, reading data from the W25Q should not be possible until the release command 0xAB is sent.
However, I am not sending this release command but can read data from the W25Q, which indicates it did not enter power down.
Below is a scope capture of the power down command and it looks correct...
I am using the following driver for the W25Q...
https://github.com/mengguang/w25qxx
Below is the function I wrote to power down the W25Q...
#define W25QXX_POWERDOWN 0xB9
void w25qxx_powerDown(W25QXX_HandleTypeDef *w25qxx)
{
uint8_t tx[1] = {W25QXX_POWERDOWN};
cs_on(w25qxx);
w25qxx_transmit(w25qxx, tx, 1);
cs_off(w25qxx);
}I even tried adding a delay (1ms) before the CS pin is raised high after the 0xB9 command has been sent, but it still did not enter power down.
With a previous setup I had many months ago, the power down used to work. I confirmed power down was successful by trying to read data without sending the release command. The fact I could not read data until the release command was sent indicated the power down was successful.
Solved! Go to Solution.
2026-01-31 10:58 AM
My mistake.... the power down was working afterall
I did not realise I was sending the release command, if I remove the release command then the W25Q read fails
2026-01-31 10:58 AM
My mistake.... the power down was working afterall
I did not realise I was sending the release command, if I remove the release command then the W25Q read fails