Why will HAL_SPI_Receive() not read the L3GD20H gyro on my STM32F303 Discovery board?
Don't worry, you might be getting correct data. It could or should be 255, depending on how youre reading it in through software. The first thing to do to see if you can properly communicate with the L3GD20 is try to read its name by reading from the WhoAmI register. It should return a value set for the L3GD20 and you can verify it quickly. 

The data in the registers will be in a signed 16 bit format, which is done by sending half of the data in the first register and half in the second, and you need to either have both to see if theres a negative or you need to be careful about interpreting your data. 

Heres what I mean. If you receive a positive signed number the two registers might look like this:
UPPER          LOWER
00000000 00010100
But if the same number is negative it will look like this:
UPPER           LOWER
11111111 11101100
This data is in two's complement. Now if you read the data as an unsigned 8 bit (uint8_t) for both the value will say one thing and if you read to a signed 8 bit for both the data will read quite differently. A 255 likely means a smaller number for the upper half register read as a uint8_t or maybe some kther combinations. If you try to read as a signed or unsigned 16 integer you'll likely get the same data as unsigned 8 bit. 

To put both together, you'll have to do some trickery with the bits. In essence, read both in, bit shift one of them, concatenate, make sure to check and delete for the negative bit, and convert from twos comp if needed. There are also ways to fix this with casting, but I couldnt say off the top of my head how. 

You can see this in my library for the L3GD20 which is in a git repository located here: https://github.com/sjgallagher2/MEMS-USB?files=1
It can be annoying, when you just want something to work and you keep realizing there are more things you have to consider. The library L3GD20.h is just a riff on the Discovery header from ST. I just made it more practical, not dependent on as much. 

Let me know if you're having trouble, it's late but when I look I'm sure theres plenty of detail available I can point out. Good luck.

Sam