типа тут и так все ясно
void fRead(uint16_t addr, void *data, uint32_t size) {
uint8_t cmd[3];
// читаем память
cmd[0] = 0x03;
cmd[1] = addr >> 8;
cmd[2] = addr & 0xFF;
HAL_GPIO_WritePin(GPIOB, GPIO_PIN_12, GPIO_PIN_RESET);
HAL_SPI_Transmit(&hspi2, cmd, 3, 100);
HAL_SPI_Receive(&hspi2, (unsigned char *)data, size, 100);
HAL_GPIO_WritePin(GPIOB, GPIO_PIN_12, GPIO_PIN_SET);
HAL_Delay(10);
}