// SPI1: PA5 SCK / PA7 MOSI / PA6 MISO / PA4 CS
HAL_GPIO_WritePin(GPIOA, GPIO_PIN_4, GPIO_PIN_SET); // CS=1 空闲
uint8_t tx[4] = {0x9F, 0, 0, 0}; // 读JEDEC ID
uint8_t rx[4] = {0};
HAL_GPIO_WritePin(GPIOA, GPIO_PIN_4, GPIO_PIN_RESET); // CS=0 选中
HAL_SPI_TransmitReceive(&hspi1, tx, rx, 4, 100);
HAL_GPIO_WritePin(GPIOA, GPIO_PIN_4, GPIO_PIN_SET); // CS=1 释放
// rx[1..3] = 厂商/容量/型号 如 EF 40 17 → W25Q64