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

msp 430 obsluga wejść / wyjść

Mientek007 30 Sty 2017 13:50 513 4
  • #1 30 Sty 2017 13:50
    Mientek007
    Uczeń

    MSP430G2553

    Witam.
    Ma to działać tak, że:
    - póki na wejściu P1.1 jest masa, to nic się nie dzieje
    - odcięcie od masy ma spowodować podanie stanu wysokiego na wyjsciu P1.5
    - ponowne pojawienie się masy na P1.1 ma przywrócić stan niski na wyjściu P1.5

    Tak mam skonfigurowane wejście:

    Kod: c
    Zaloguj się, aby zobaczyć kod


    Tak wyjście:

    Kod: c
    Zaloguj się, aby zobaczyć kod


    A tak wygląda program:

    Kod: c
    Zaloguj się, aby zobaczyć kod



    Niestety nie działa. Na samo odcięcie wejścia od masy wyjście P1.5 reaguje stanem wysokim, ale po ponownym pojawieniu się masy na P1.1 stan na wyjsciu nadal jest wysoki.

    Dlaczego?
    Co tutaj jest źle?

    0 4
  • #2 30 Sty 2017 15:01
    BlueDraco
    Specjalista - Mikrokontrolery

    Tzn. jak wygląda program? Programu nie pokazałeś, tylko wycięty fragment.

    A poza tym znasz coś takiego jak else? Jeśli już sprawdziłeś, że linia portu nie jest jedynką, to chyba nie musisz sprawdzać, czy jest zerem.

    0
  • #3 30 Sty 2017 15:10
    Mientek007
    Uczeń

    Kod: c
    Zaloguj się, aby zobaczyć kod


    O ile dla pierwszego if'a działą, to przy drugim wyświetla się żółty trójkącik i nie ma zadnej reakcji

    0
  • #4 30 Sty 2017 16:50
    BlueDraco
    Specjalista - Mikrokontrolery

    Jak skrócisz kod 5-krotnie i sformatujesz, to może ktoś Ci pomoże. Skonfiguruj każdy port dwiema instrukcjami, a nie dwunastoma i zrób poprawne wcięcia.

    0
  • #5 30 Sty 2017 17:17
    Freddie Chopin
    Specjalista - Mikrokontrolery

    Mientek007 napisał:
    O ile dla pierwszego if'a działą, to przy drugim wyświetla się żółty trójkącik i nie ma zadnej reakcji

    Pewnie dlatego, że jeden jest w pętli (nieskończonej), a drugi jest poza nią.

    0
  Szukaj w 5mln produktów