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.

MSP430 - Stan początkowy wyjść

Mientek007 22 Mar 2016 22:06 555 1
  • #1 22 Mar 2016 22:06
    Mientek007
    Uczeń

    Witam.
    Ustawiłem cały port P1 jako wyjścia. I choć jeszcze nie ma głównej pętli programu, to mam już pytania.

    Oto kod programu:

    Kod: c
    Zaloguj się, aby zobaczyć kod


    Dlaczego po odpaleniu programu palą mi się diody na porcie P1.1, P1.2 oraz P1.3 a pozostałe są zgaszone??
    Od czego zależy stan początkowy wyjść?



    I uwaga.
    Wgrałem sobie całkiem inny program, coś tam pokombinowałem po czym znowu wgrałem program który umieściłem wyżej w poście.

    Teraz o dziwo przy dokładnie tym samym kodzie pali się jedynie dioda na porcie P1.3

    O co wiec tu chodzi?
    Jak to działa?
    W jaki sposób ustawić, aby wszystkie wyjścia pozostały w trybie "niskim" (zero na wyjściu) ?

    Czy jedyny sposób na ten problem, to wklepanie kodu zerującego wszytkie P1OUT?

    Kod: c
    Zaloguj się, aby zobaczyć kod

    0 1
  • #2 22 Mar 2016 22:31
    vonar
    Poziom 28  

    A zajrzałeś do dokumentacji czy nadal zgadujesz?

    Takie zachowanie portów nic dziwnego. Rejestry PxOUT nie są resetowane wraz z resetem procesora, dlatego po włączeniu zasilania zawierają przypadkowe wartości, a po wgraniu nowego programu bez wyłączania zasilania zachowują wartości wpisane przez poprzedni kod.

    Oczywiście konkretny typ procesora to zagadka, niech odpowiadający poszukają w poprzednim temacie, bo przecież po co pisać dwa razy... :|

    Dodano po 2 [minuty]:

    Mientek007 napisał:
    Czy jedyny sposób na ten problem, to wklepanie kodu zerującego wszytkie P1OUT?

    Owszem. Tylko prościej jednym wyrażeniem P1OUT = 0;

    0