QSPI - Read UNIQUE ID from W25Qxx NOR memory
Hi ST community!
I'm a liltle confused about how to read the UNIQUE ID from memory NOR W25Qxx. In my case a use the W25Q128 - https://www.winbond.com/hq/product/code-storage-flash-memory/serial-nor-flash/?__locale=en&partNo=W25Q128JV
We already use this memory in another custom boards.
We able to flash, create external loaders and use it with touchgfx.
This custom board has a STM32H753.
I want to understand the correct way to read this instruction UNIQUE ID (4Bh). To get this value, the datasheet says after the INSTRUCTION (4Bh) I need to add 4 bytes of DUMMY clock (32 clocks). After this, I will able to receive the 64 bits from the UNIQUE ID.

I'm a little confused about my tests and would like some help from the community to know if some of the two paths I show below are correct or none of them haha
1) My first try was using the code below, but I always get corrupt data.
- I put the max dummy cycles allowed (31). Check it on the HAL lib and reference manual.
- read 8 bytes (64 bits from the UNIQUE ID)

Looking the logic analyzer, I figure out the data is shifted to left. The last byte was not readed.

2) The second try was the code bellow:
- I sum the 8 bytes from UNIQUE ID with the Dummy bytes.
- the first 4 bytes are zero and the UNIQUE ID start at index 4 in pData array.

Looking the logic analyzer, the data is fine.

Please, anyone can advise me the correct way to read this UNIQUE ID from W25Q128 NOR memory?
Many thanks!

