[uquote="jcxz",url="/forum/viewtopic.php?p=4520223#p4520223"]Откуда такие данные??...
Как видно - и GPIO-out и вывод "alternate function" - идут по одному и тому же пути, через единый мультиплексор. И управлять ногой должны одинаково.[/uquote] Согласен. И картинку эту видел. Но как-то раз на практике это отработало странно, и я сделал иные выводы, неверные.
[uquote="jcxz",url="/forum/viewtopic.php?p=4520223#p4520223"]Это как это - "несколько GPIO на одном выводе"??? Можно ссылку?[/uquote]
Вот именно он вынес мне мозг и сформировал неверное понимание. У него на одной ноге именно несколько портов. Я получил половину напряжения питания, подав 0 на один порт и 1 на другой
Кроме того, у меня была ситуация, уже не помню на каком из STM8, когда конфигурирование ног для PWM как выходов прекращало их работу как PWM. И вот что мне оставалось думать? Что схемы схемами, а альтернативные функции и GPIO имеют конфликт...
Добавлено after 1 hour 4 minutes 24 seconds:
Z_h_e, сейчас был под рукой STM8L101F3P6 - запустил SPI c открытым коллектором. всё хорошо...
Код: Выделить всё
CLK_PERIPHERAL_ENABLE(CLK_SPI); //тактирование SPI
PB_INIT(Pin6 | Pin5, 0x00, 0x00);
SPI_CR1=(0x6<<3) | SPI_CR1_CPOL | SPI_CR1_CPHA;
SPI_CR2 |= SPI_CR2_SSM;
SPI_CR2 |= SPI_CR2_SSI;
SPI_CR1 |= SPI_CR1_MSTR;
SPI_CR1|=SPI_CR1_SPE;
Резисторы 1 кОм, режим открытого коллектора (на другом конце шины никого нет):
Тоже, но со включенным пуш-пулл:
Никакие манипуляции с SPI не привели к изменениям CR1/2 GPIO, я уже всяко наугад пробовал, он просто глох в итоге... ну а фронты сигналов сами за себя говорят.
Так что я там выше о работе портов с альтернативными функциями был неправ, спасибо всем за возвращение на путь истинный.
Чтож, то был честный STM8L101, чуть позже я проверю на честном STM8S103