/**spi2 GPIO Configuration
PB12------> Spi2_nss
PB13------> Spi2_sck
PB14------> Spi2_miso
PB15------> Spi2_mosi
*/
Gpio_initstruct.pin = gpio_pin_13| Gpio_pin_15;
Gpio_initstruct.mode = gpio_mode_af_pp;
Gpio_initstruct.speed = Gpio_speed_high;
Gpio_initstruct.alternate = Gpio_af0_spi2;
Hal_gpio_init (Gpiob, &gpio_initstruct);
Gpio_initstruct.pin = gpio_pin_14;
Gpio_initstruct.mode = gpio_mode_af_pp;
Gpio_initstruct.pull = Gpio_nopull;
Gpio_initstruct.alternate = Gpio_af0_spi2;
Hal_gpio_init (Gpiob, &gpio_initstruct);
Hal_gpio_writepin (Gpiob, Gpio_pin_12, Gpio_pin_set);
Gpio_initstruct.pin = Gpio_pin_12;
Gpio_initstruct.mode = gpio_mode_output_pp;
Hal_gpio_init (Gpiob, &gpio_initstruct);
The data cannot be read because the configuration mode is incorrect. All data outputs are configured to GPIO_MODE_AF_PP, this mode.
#define GPIO_MODE_AF_PP ((uint32_t) 0x00000002)/*!< Alternate Function Push Pull MODE */