Elektroda.pl
Elektroda.pl
X
CControls
Proszę, dodaj wyjątek www.elektroda.pl do Adblock.
Dzięki temu, że oglądasz reklamy, wspierasz portal i użytkowników.

STM32 - Multipleksacja diod

ktoZjarany 29 Kwi 2016 18:38 729 2
  • #1 29 Kwi 2016 18:38
    ktoZjarany
    Poziom 6  

    Chciałem podłączyć do swojego mcu 6 diod na 3 pinach, jak na załączonym obrazku. Jak rozumiem, Z to jest konfiguracja wejściowa, jednak zastosowanie czegoś takiego nie działa.
    gpio.GPIO_Mode = GPIO_Mode_IN;

    STM32 - Multipleksacja diod

    Kod: c
    Zaloguj się, aby zobaczyć kod

    takie coś powinno zapalić piątą diodę (0Z1), ale nie zapala żadnej. Jakieś sugestie? [/code]

    0 2
  • CControls
  • #2 29 Kwi 2016 19:40
    Piotr Piechota
    Poziom 21  

    wydaje mi się, że wszystkie porty muszą być wyjściami....

    0
  • CControls
  • #3 29 Kwi 2016 21:39
    BlueDraco
    Specjalista - Mikrokontrolery

    źle Ci się wydaje - trzeba przełączać kierunek portów

    Najprościej będzie zdefiniować dwa wektory - jeden z zawartościami rejestru MODER, drugo z zawartościami ODR dla poszczególnych diod/faz, a potem w przerwaniu timera robimy coś takiego (multipleksowanie na 6 faz, wszystkie diody świecą - żeby zapalać selektywnie, trzeba dodać warunkek przed ostatnią linijką z tych trzech):

    Kod: c
    Zaloguj się, aby zobaczyć kod


    W kodzie, który pokazałeś powyżej, prawdopodobnie brakuje jawnego zerowania linii 0, ale to nie jedyny błąd - najpierw trzeba ustawić wszytskie linie jako wejścia, potem ustawić stany, potem ustawić odpowiednei linie jako wyjścia.

    0