Приветствую, господа. Ковыряю недавно выпущенный мк от 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. Удачи.
|