Приветствую, господа.
Ковыряю недавно выпущенный мк от ST: STM32L100RBT6. До этого ковырялся также с F серией.
Ближе к делу: для применения SPI в F серии есть конкретные указания по настройке пинов, см. документ RM0008 таблицу 25 стр. 162. Сказано, что линия MISO должна быть сконфигурена, как Input floating / Input pull-up.
Для L серии таких упоминаний в рефмане лично я не нашел, потому решил сделать по аналогии с F серией. Попытки с теми же настройками пинов завести SPI на L показали, что не работает как раз таки прием байтов по SPI, тогда как все остальные линии работают корректно (и ответ от слейв-девайса по линии MISO присутствует). Потупив пять минут в осциллограммы, перенастроил пин MISO на альтернативную функцию, и все, конечно, заработало.
Итак, резюме:
для STM32L серии пин MISO должен быть настроен, как альтернативная функция;
для STM32F серии пин MISO должен быть настроен, как высокоомный вход с подтяжкой к Vcc.
Удачи.