To rozsądny sposób rozwiązania problemu z przypadkowymi kolizjami
Inną popularną metodą jest użycie wyjścia otwartego drenu. To jest metoda
używany przez I2C, aby zapewnić, że dwa kolidujące ze sobą sterowniki nie będą pobierać zbyt dużego prądu i aby zapewnić, że sygnał będzie albo niski, albo wysoki, a nie coś pomiędzy.
W ten sposób możesz podłączyć tyle wyjść, ile chcesz, ponieważ albo nic nie robią, albo podłączają wyjście do masy. Jeśli dwa lub więcej pinów kieruje ten sam sygnał do masy, nic złego się nie dzieje.
Aby to zadziałało, potrzebny jest pojedynczy rezystor podciągający na magistrali, a ponieważ nikt aktywnie nie napędza wysokiego sygnału, powoduje to niższą maksymalną przepływność.
Ponieważ używasz interfejsu szeregowego opartego na oprogramowaniu, powinno być łatwe do dostosowania do Twoich potrzeb. Zamiast konfigurować porty jako wyjścia push-pull, a następnie ustawiać je jako niskie lub wysokie, ustawiasz je jako wejścia z podciąganiem, gdy mają być wysokie wyjściowe lub input i ustaw je jako output low , gdy mają być output low .